【问题标题】:Adding raw bytes to post parameters using Apache HttpClient使用 Apache HttpClient 将原始字节添加到发布参数
【发布时间】:2011-05-26 05:40:47
【问题描述】:

有没有办法使用 Apache 的 HTTPClient 向 post 参数添加原始字节?我的动机是以特定编码流式传输流的原始字节,然后测试该数据到达服务器时会发生什么。

编辑:我注意到 Apache 有一个不推荐使用的方法来使用输入流添加到请求正文中,所以我可以向它提供一个 ByteArrayInputStream,但是有没有更好/不推荐使用的方法?

【问题讨论】:

    标签: java apache post httpclient


    【解决方案1】:

    (您没有指定,所以我假设您使用的是 Apache HttpClient 版本 4.x)

    我认为您不能将原始字节“添加”到正常创建请求的 POST 参数中。

    但是,应该可以创建带有 HttpEntityPostMethod,其中包含合法参数以及一些错误编码的内容。您可能需要自己进行内容的格式化和编码,但您可以通过将有效参数放入UrlEncodedFormEntity,然后使用writeTo 方法提取格式化/编码版本来走捷径变成ByteArrayOutputStream。破解内容字节后,将它们转换为具有适当内容类型和编码参数的 ByteArrayEntity 实例。

    会很乱……

    【讨论】:

      猜你喜欢
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      相关资源
      最近更新 更多