package httpcall;
import java.io.IOException;
import javax.xml.ws.http.HTTPException;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
/**
* @Module HttpClientUtil
* @Description 客户端
* @Author zhangweigang
* @Date 2015-11-16
*/
public class HttpClientUtil {
public static String getHttp(String param1,String param2){
String responseMsg="";
// 1.构造HttpClient的实例
HttpClient httpClient = new HttpClient();
// 用于测试的http接口的url
String url="http://localhost:8080/UpDown/httpServer?param1="+param1+"¶m2="+param2;
// 2.创建GetMethod的实例
GetMethod getMethod = new GetMethod(url);
// 使用系统系统的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
try {
//3.执行getMethod,调用http接口
httpClient.executeMethod(getMethod);
//4.读取内容
byte[] responseBody = getMethod.getResponseBody();
//5.处理返回的内容
responseMsg = new String(responseBody);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//6.释放连接
getMethod.releaseConnection();
}
return responseMsg;
}
public static String postHttp(String param1,String param2){
String responseMsg="";
//1.构造HttpClient的实例
HttpClient httpClient=new HttpClient();
// httpClient.getParams().setContentCharset("GBK");
String url="http://localhost:8080/UpDown/httpServer";
//2.构造PostMethod的实例
PostMethod postMethod=new PostMethod(url);
//3.把参数值放入到PostMethod对象中
//方式1:
// NameValuePair[] data = { new NameValuePair("param1", param1),new NameValuePair("param2", param2) };
// postMethod.setRequestBody(data);
//方式2:
postMethod.addParameter("param1", param1);
postMethod.addParameter("param2", param2);
// 4.执行postMethod,调用http接口
try {
httpClient.executeMethod(postMethod);
//5.读取内容
responseMsg = postMethod.getResponseBodyAsString().trim();
//6.处理返回的内容
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
postMethod.releaseConnection();
}
return responseMsg;
}
public static void main(String[] args) {
String param1="111";
String param2="222";
// System.out.println("get方式调用http接口\n"+getHttp(param1, param2));
System.out.println("post方式调用http接口\n"+postHttp(param1,param2));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java实现httpclient服务端客户端代码例子
共17个文件
jar:3个
java:2个
xml:2个
4星 · 超过85%的资源 需积分: 50 415 下载量 132 浏览量
2015-11-16
14:11:39
上传
评论 6
收藏 356KB ZIP 举报
温馨提示
java实现http接口服务端、客户端代码例子。使用jar(commons-codec-1.3.jar、commons-httpclient-3.0.1.jar、commons-logging-1.1.1.jar)
资源推荐
资源详情
资源评论
收起资源包目录
UpDown.zip (17个子文件)
UpDown
.project 1KB
src
httpcall
TestHTTPServer.java 1KB
HttpClientUtil.java 3KB
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 349B
org.eclipse.jdt.core.prefs 395B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.component 445B
.jsdtscope 500B
build
classes
httpcall
TestHTTPServer.class 2KB
HttpClientUtil.class 3KB
.classpath 1KB
webapps
WEB-INF
lib
commons-codec-1.3.jar 46KB
commons-logging-1.1.1.jar 59KB
commons-httpclient-3.0.1.jar 273KB
web.xml 973B
META-INF
MANIFEST.MF 39B
共 17 条
- 1
代码的忧伤
- 粉丝: 9
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页