其他分享
首页 > 其他分享> > android – 如何在执行apache HttpPost时对UrlEncodedFormEntity中的空间进行编码?

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