java - 使用 Apache HttpClient 将原始字节添加到发布参数

标签 java apache post httpclient

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

编辑:我注意到 Apache 有一个已弃用的方法,可以使用输入流添加到请求主体,因此我可以将其提供给 ByteArrayInputStream,但是有什么更好的/未弃用的方法吗?

最佳答案

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

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

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

会很乱...

关于java - 使用 Apache HttpClient 将原始字节添加到发布参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4455694/

相关文章:

java - JMeter配置: Performance testing after Login

java 通过正则表达式更改包含 {n} 的字符串

java - 使用 Eclipse 连接到 wamp 服务器的 IOException 错误?

php - 如何在 PHP 中发送没有请求数据的 cURL POST?

swift - Alamofire POST 编码问题

java - 有人可以解释这是如何工作的吗?

java - vscode 自动填充获取和设置信息

php - 检索从 Angular 发送到 php 程序的数据?

java - 使用 RestTemplate 的 Spring 4.0.0 基本身份验证

java - 如何在android应用程序中添加http服务器并从移动浏览器访问