在调试接口时,服务器采用tomcat,ssm架构,post发送数据时遇到一个问题,参数中加号会被转换为空格,
这个主要是url编码协议导致的,关于传输的特殊字符可以参考这篇博客 http://blog.csdn.net/scyatcs/article/details/26766437
记录一下自己解决这个问题的2个方法:
一种是利用 NameValuePair 将数据以键值对的形式中间用&分隔发送到服务端,此时在发送前需要进行urlEncoded编码,代码如下:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uri);
HttpMessage msg = new HttpMessage(map);
httpPost.setEntity(new UrlEncodedFormEntity(msg.toList()));
第二种就是以JSONObject的形式发送
httpPost.setHeader("Content-Typ

在使用httpClient进行POST请求时,如果参数中含有加号(+),会被Tomcat服务器自动转换为空格。这是由于URL编码规则导致的。解决此问题有两种方法:一是通过NameValuePair进行urlEncoded编码,另一种是以JSONObject形式发送,设置Content-Type为application/json。

1811

被折叠的 条评论
为什么被折叠?



