StringEntity与urlEncodeFormEntity区别 ,apache post body转&分割,post body 格式化

有个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请求

原文地址:https://www.cnblogs.com/suizhikuo/p/13627800.html