当前位置: 首页 > 面试题库 >

PostMethod setRequestBody(String)已过时-为什么?

喻昀
2023-03-14
问题内容

我正在使用Apache Commons HttpClient PostMethod 3.1。

在PostMethod类中,还有三种用于设置POST方法的请求正文的方法:

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

NameValuePair
API

不建议使用前两种方法。有人知道为什么吗?因为如果我想将XML放入请求正文,NameValuePair不会对我有帮助。

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


问题答案:

Javadoc说:

不推荐使用。使用setRequestEntity(RequestEntity)

RequestEntity有很多实现者,即:

ByteArrayRequestEntity,FileRequestEntity,InputStreamRequestEntity,MultipartRequestEntity,StringRequestEntity

使用适合您的一种:

  • 如果您的xml在中String,请使用StringRequestEntity
  • 如果在文件中,请使用 FileRequestEntity

等等。



 类似资料:
  • 问题内容: 使用时收到以下警告: 我应该改用什么? 问题答案: 使用URLEncoder中的其他方法: 第一个参数是要编码的文本。第二个是要使用的字符编码的名称(例如)。例如:

  • 使用Android Studio 3.3金丝雀11和gradle插件版本。它在尝试同步gradle时抛出以下错误 单击该错误会导致我找到gradle文件中的这一行 我到底需要改变什么? 项目 Appbuild.gradle 我在app/build中跳过了一些常量和其他敏感信息。格雷德尔档案。

  • 问题内容: 我正在尝试正确设置导航栏的样式,我需要将字体更改为大小为19的helvetica neue。我曾经使用过此代码,但我注意到现在也无法正常工作: 发生这种情况是因为NSFontAttributeName的类型已更改为String,我尝试使用 但是编译器继续给我一个与字体磅值有关的错误,我该如何解决? 问题答案: 该构造函数返回一个可选的(),你必须拆开包装使用。添加如果你确保你有一个有效

  • 问题内容: 我是第一次遇到,很惊讶,因为Java已经具有一个非常强大的类,可以追加。 为什么要上第二堂课? 在哪里可以了解更多信息? 问题答案: 不允许附加。你在上调用的每个方法都会创建一个新对象并返回它。这是因为String它是不可变的-无法更改其内部状态。 另一方面是可变的。调用时,它会更改内部char数组,而不是创建新的字符串对象。 因此,拥有: 而不是,这将创建500个新的字符串对象。 请

  • 问题内容: 给出以下代码: 为什么会这样?我以为布尔值会被强制转换为数字。因此变得和变。第二条if语句很有意义,但是我不明白为什么第一条语句导致要评估内部循环。这里发生了什么? 问题答案: 它被强制转换为布尔值。任何非空字符串的求值为true。 根据[ECMAScript语言规范]: ## 12.5 声明 ### 语义学 生产 IfStatement : Expression Statement

  • 问题内容: 对于做类似的事情 我需要类似的东西。我在javascript.info中发现了已弃用的信息: *ECMA-262 *不推荐使用此属性,而应使用 命名函数表达式并获得更好的性能。 但是,应该用什么代替呢? 像这样吗 顺便说一句,跨浏览器兼容吗? 问题答案: 是的,理论上 应该 使用。你是对的。但是,它不能像以往一样在某些版本的Internet Explorer中工作。所以要小心 您可能需