34

我正在使用 Apache Commons HttpClient PostMethod 3.1。

在 PostMethod 类中还有三种方法可以设置 POST 方法的请求体:

setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);

NameValuePair API

前两种方法已弃用。有人知道为什么吗?因为如果我想将 XML 放到请求正文中,NameValuePair 对我没有帮助。

有人知道解决方法或解决方案吗?

4

2 回答 2

49

javadoc 说:

已弃用。使用 setRequestEntity(RequestEntity)

RequestEntity 有很多实现者,即:

ByteArrayRequestEntity、FileRequestEntity、InputStreamRequestEntity、MultipartRequestEntity、StringRequestEntity

使用适合您的一种:

等等。

于 2010-01-19T09:43:20.880 回答
5

是的,例如,

post.setRequestEntity( new StringRequestEntity( xml ) );

代替

post.setRequestBody( xml );
于 2011-03-07T00:29:24.250 回答