有个post请求,服务器一直说收不到请求。服务器只接收键值对请求。把原来的entity从StringEntity改成urlEncodeFormEntity就可以了。

原因:

urlEncodeFormEntity会将参数以key1=value1&key2=value2的键值对形式发出。

StringEntity可以自己指定ContentType,而默认值是 text/plain,所以不指定ContentType的话 不是以键值对形式发出,如果服务器只接收键值对的话就无法正常解析;

可以使用

 

httppost.setEntity(new StringEntity(params,ContentType.APPLICATION_FORM_URLENCODED););

来发出与urlEncodeFormEntity一致的post请求

 

posted on 2018-01-09 16:34  唯忆学长  阅读(8339)  评论(0编辑  收藏  举报