当你使用httpClient发送一个请求时,如果你的请求连接中有含有中文的参数,需要对参数进行特殊的处理,示例代码如下:
String ssoUrl = "http://"+ipport+"/mp/sendMessage?input="+certificate+"&fromUid="+fromUid+"&toUid="+toUid;
String response="";
HttpClient httpClient = new HttpClient();
httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);
System.out.println("ssoUrl"+ssoUrl);
String responseValue;
PostMethod getMethod = new UTF8PostMethod(ssoUrl);
NameValuePair[] data = {
new NameValuePair("title", title),new NameValuePair("msg", msg) };
getMethod.setRequestBody(data);
getMethod.addRequestHeader("Connection", "close");
responseValue = executeRequest(httpClient, getMethod);
正如大家所看到的红色字体部分为含有中文的参数,应该使用如下方式进行提交否则,在服务器端就会出现乱码。
分享到:
相关推荐
下载这个工具类,然后直接调用createHtmlPage方法就可以了。最关键一点是,网上的方法没有一个解决了乱码问题,费了我不少功夫。
服务器端自己写,本示例为客户端代码,可以解决httpClient4乱码问题,是替代修改源码的最佳写法。
解决HttpClient中文乱码问题jar文件
很全面的代码介绍,很完整的乱码解决说明,让你一目了然,值得研究
httpclient 请求两种方式,如果有cookie可加上cookies,同步获取返回值
HttpClient请求(get请求、post请求)
HttpURLConnection请求和HttpClient请求...................................................................
适用于多线程的Httpclient请求的工具类
try(CloseableHttpClient httpClient = HttpClients.createDefault()) { HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); ...
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
JAVA发送HttpClient请求及接收请求结果过程
NULL 博文链接:https://bijian1013.iteye.com/blog/2310211
详细说明在https://blog.csdn.net/zyf2533/article/details/118294101?spm=1001.2014.3001.5501
其中包含项目post-demo定义接口;包含另一个项目httpclient-demo使用工具类发送post请求调用接口。详细内容查看博客 httpclient发送post请求
HttpClient,发送异步请求,get、post请求
httpClient请求工具类,适合多个系统间的数据请求
利用HttpClient发送HTTP请求 利用HttpClient发送HTTP请求
HttpClient与Asynctask与服务器的结合使用
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
HttpClient 请求腾讯接口实例,详细操作,完整代码,按照各级别放置