我正在使用Apache Commons HttpClient PostMethod 3.1。
在PostMethod类中,还有三种设置POST方法请求体的方法:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
NameValuePair API
不推荐使用前两种方法。有人知道为什么吗?因为如果我想将XML放到请求体中,NameValuePair对我没有帮助。
有人知道解决方法或解决方案吗?
答案 0 :(得分:48)
javadoc说:
已过时。使用setRequestEntity(RequestEntity)
RequestEntity有很多实现者,即:
ByteArrayRequestEntity,FileRequestEntity,InputStreamRequestEntity,MultipartRequestEntity,StringRequestEntity
使用适合你的那个:
String
,请使用StringRequestEntity
FileRequestEntity
等等。
答案 1 :(得分:4)
是的,例如,
post.setRequestEntity( new StringRequestEntity( xml ) );
而不是
post.setRequestBody( xml );