最好的做网站公司有哪些,angularjs 做电商网站,京东云擎 wordpress,简单logo设计图片在实际项目中常涉及到相互调用#xff0c;对于http接口的调用#xff0c;需要经过建立连接#xff0c;拼接参数#xff0c;调用等步骤#xff0c;记录下来#xff0c;方便查看。
第一步、引入jar包
pom中引入apache的httpclient包
dependencygroupIdc…在实际项目中常涉及到相互调用对于http接口的调用需要经过建立连接拼接参数调用等步骤记录下来方便查看。
第一步、引入jar包
pom中引入apache的httpclient包
dependencygroupIdcommons-httpclient/groupIdartifactIdcommons-httpclient/artifactIdversion3.1/version
/dependency第二步、实现逻辑
http调用分为post和get两种方式两者的流程一致主要区别在于创建自己的对象。
1post调用方式
1创建HttpClient实例对象 2httpClient连接主机服务器 3创建post请求方法实例对象 4设置post请求超时时间 5创建参数对象并进行赋值操作 6执行post方法 7获取返回结果并释放连接
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;public class HttpClientUtil {public static String sendPost(String urlParam) throws HttpException, IOException {// 创建实例对象HttpClient httpClient new HttpClient();// 设置httpClient连接主机服务器超时时间15000毫秒httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);// 创建post请求方法实例对象PostMethod postMethod new PostMethod(urlParam);// 设置post请求超时时间postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);// 请求头postMethod.addRequestHeader(Content-Type, application/json);// 创建参数对象HttpClientParams params new HttpClientParams();params.setParameter(user_name, Tom);params.setParameter(age, 20);httpClient.setParams(params);// 执行方法httpClient.executeMethod(postMethod);// 获取返回结果String result postMethod.getResponseBodyAsString();// 释放连接postMethod.releaseConnection();return result;}
}2get调用方式
1创建HttpClient实例对象 2httpClient连接主机服务器 3创建get请求方法实例对象 4设置post请求超时时间 5创建参数对象并进行赋值操作 6执行get方法 7获取返回结果并释放连接
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
public static String sendGet(String urlParam) throws HttpException, IOException {// 创建httpClient实例对象HttpClient httpClient new HttpClient();// 设置httpClient连接主机服务器超时时间15000毫秒httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);// 创建GET请求方法实例对象GetMethod getMethod new GetMethod(urlParam);// 设置post请求超时时间getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);getMethod.addRequestHeader(Content-Type, application/json);// 创建参数对象HttpClientParams params new HttpClientParams();params.setParameter(user_name, Tom);params.setParameter(age, 20);httpClient.setParams(params);// 执行方法httpClient.executeMethod(getMethod);// 获取返回结果String result getMethod.getResponseBodyAsString();// 释放连接getMethod.releaseConnection();return result;
}测试调用
public static void main(String[] args) throws HttpException, IOException {String post_url http://192.168.0.0:9090/test/post_load;// 调用post方法System.out.println(sendPost(post_url));String get_url http://192.168.0.0:9090/test/get_load;// 调用get方法System.out.println(sendGet(get_url));
}以上就是http的两种调用方式的实现。