问题描述
我使用的是 Apache Commons HttpClient PostMethod 3.1.
I am using Apache Commons HttpClient PostMethod 3.1.
在 PostMethod 类中,还有三种设置 POST 方法的请求体的方法:
In the PostMethod class there are also three methods for setting POST method's request body:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
NameValuePair API
前两种方法已弃用.有人知道为什么吗?因为如果我想将 XML 放在请求正文中,NameValuePair 对我没有帮助.
NameValuePair API
First two methods are deprecated. Does anybody knows why? Because if I want to put an XML to request body, NameValuePair does not help me.
有人知道变通方法或解决方案吗?
Does anybody knows an workaround or a solution?
推荐答案
javadoc 说:
已弃用.使用 setRequestEntity(RequestEntity)
RequestEntity 有很多实现者,即:
RequestEntity has a lot of implementors, namely:
ByteArrayRequestEntity、FileRequestEntity、InputStreamRequestEntity、MultipartRequestEntity、StringRequestEntity
使用适合您的:
- 如果您的 xml 在
String
中,请使用StringRequestEntity
- 如果它在文件中,请使用
FileRequestEntity
等等.
这篇关于PostMethod setRequestBody(String) 已弃用 - 为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!