java - 不推荐使用 PostMethod setRequestBody(String) - 为什么?

标签 java request apache-commons-httpclient

我正在使用 Apache Commons HttpClient PostMethod 3.1。

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

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

NameValuePair接口(interface)

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

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

最佳答案

javadoc 说:

Deprecated. use setRequestEntity(RequestEntity)

RequestEntity 的实现者很多,分别是:

ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity

选择适合你的:

等等。

关于java - 不推荐使用 PostMethod setRequestBody(String) - 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092474/

相关文章:

java - 当队列已满时 Spring 线程和 TaskRejectException

node.js - Node 请求添加 header

java - 如何处理多个 servlet 请求以更新数据库值

java - maven 在项目构建期间挂起约 20 分钟(过去工作正常)

javascript - 使用 JavaScript 确保发布请求的顺序

Spring @RequestParam 映射 boolean 基于 1 或 0 而不是 true 或 false

java - 使用 Curl/HttpClient 重定向 : header "Location" missing

authentication - Apache HttpClient 4.3.1 中使用 HTTP 隧道/HTTPS 连接的抢占式代理身份验证

java - 哪个 API 将 Java List<Object> 转换为 HTTP 表单参数?

java - java可以用来写blogger widgets吗?