最近写个httpclient post的方法如下
public static void sendData(String url, String value[], String key[])
throws IOException {
HttpClient client = new HttpClient();
// 设置代理服务器地址和端口
client.getHostConfiguration().setProxy("172.17.18.80",8080);
// client.getHostConfiguration().setHost(host, port, "http");
PostMethod postMethod = new PostMethod(url);
NameValuePair p1 = new NameValuePair(key[0], value[0]);
NameValuePair p2 = new NameValuePair(key[1], value[1]);
postMethod.setRequestBody(new NameValuePair[] { p1, p2 });
postMethod.setRequestHeader("Content-Type", "text/html;charset=gb2312");
// 使用POST方式提交数据
client.executeMethod(postMethod);
// 打印服务器返回的状态
logger.info("服务器返回的状态=" + postMethod.getStatusLine());
// 打印结果页面
String response = new String(postMethod.getResponseBodyAsString()
.getBytes("gb2312"));
// 打印返回的信息
logger.info("返回的信息=" + response);
// 释放连接
postMethod.releaseConnection();
}
使用 postMethod.setRequestHeader("Content-Type", "text/html;charset=gb2312"); 客户端接受的值是个null
后改成 postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "gb2312"); 问题解决 很是奇怪
完整代码如下
public static void sendData(String url, String value[], String key[])
throws IOException {
HttpClient client = new HttpClient();
// 设置代理服务器地址和端口
// client.getHostConfiguration().setProxy("172.17.18.80",8080);
// client.getHostConfiguration().setHost(host, port, "http");
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "gb2312");
NameValuePair p1 = new NameValuePair(key[0], value[0]);
NameValuePair p2 = new NameValuePair(key[1], value[1]);
postMethod.setRequestBody(new NameValuePair[] { p1, p2 });
// 使用POST方式提交数据
client.executeMethod(postMethod);
// 打印服务器返回的状态
logger.info("服务器返回的状态=" + postMethod.getStatusLine());
// 打印结果页面
String response = new String(postMethod.getResponseBodyAsString()
.getBytes("gb2312"));
// 打印返回的信息
logger.info("返回的信息=" + response);
// 释放连接
postMethod.releaseConnection();
}
分享到:
相关推荐
解决HttpClient中文乱码问题jar文件
很全面的代码介绍,很完整的乱码解决说明,让你一目了然,值得研究
下载这个工具类,然后直接调用createHtmlPage方法就可以了。最关键一点是,网上的方法没有一个解决了乱码问题,费了我不少功夫。
服务器端自己写,本示例为客户端代码,可以解决httpClient4乱码问题,是替代修改源码的最佳写法。
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
HttpClient中文文档,快速开发
我使用的是httpClient 进行内部转发 我们在A的服务器上,将前台的文件流,通过httpClient传输到B的服务器上(B的服务器通过控制层接受A传输的文件流,让后保存在B的服务器上。返回一个json结果)
httpclient-4.5.3 api 中文版
《 httpclient-4.5.3中文版》 文档 ,重要的事说三遍:很实用,很实用,很实用!
httpclient中文版本,HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 ...
标签:apache、httpcomponents、httpclient、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
httpclient连接第三方接口:get,post类型请求,上传文件,中文乱码解决方案
标签:apache、httpcomponents、httpclient、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
包含翻译后的API文档:httpclient-4.5.5-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org.apache.httpcomponents,artifactId:httpclient,version:4.5.5 使用方法:解压翻译后的API文档,用...
标签:apache、httpcomponents、httpclient、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
httpclient4.5的中文帮助文档,可以帮助学习httpclient,利用httpclient采集网络数据,解决采集时遇到的问题
org.apache.commons.httpclient 3.0版本。直接在官方网站下载,总是提示找不到类的错,自己找了缺少的包,放到一起,直接引用就可以,比3.0新的没有GetMethod 。所以没有使用最新的包。
httpClient 中文指导手册 教你如何用登录 如何抓取网页等
网上找的,共同分享! HttpClient4.0.3 Tutorial中文翻译!
httpclient