android – 如何在执行apache HttpPost时对UrlEncodedFormEntity中的空间进行编码?
作者:互联网
我正在点击的网络服务需要参数为URLEncodedFormEntity.我无法根据Web服务的要求更改空间,而是将空间转换为.
我的代码是:
HttpClient client = new DefaultHttpClient()
HttpPost post = new HttpPost(url);
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,
HTTP.UTF_8);
post.setEntity(entity);
HttpResponse resp = client.execute(post);
其中参数是List< NameValuePair>参数.
我阅读了很多帖子,并且都建议在动画之后将manuall更改为空间.在这里,我如何访问实体并手动更改它?
任何帮助将不胜感激.
解决方法:
UrlEncodedFormEntity基本上是一个带有自定义构造函数的StringEntity,您实际上不必使用它来创建可用的实体.
String entityValue = URLEncodedUtils.format(parameters, HTTP.UTF_8);
// Do your replacement here in entityValue
StringEntity entity = new StringEntity(entityValue, HTTP.UTF_8);
entity.setContentType(URLEncodedUtils.CONTENT_TYPE);
// And now do your posting of this entity
标签:url-encoding,android,encoding,apache,httpclient 来源: https://codeday.me/bug/20191005/1856503.html