当前位置: 首页 > 知识库问答 >
问题:

Java Http-Post头内容-长度

申屠英韶
2023-03-14

我的HTTP头有问题。我需要发送一个带有空正文和标题“content-length:0”的post-request。但这似乎是不可能的,因为我有一个例外:

--org.apache.http.ProtocolException:内容长度头已存在--

HttpClient client = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(header..);
httpPost.addHeader(another header);
httpPost.addHeader("Content-Type","application/xml");
httpPost.addHeader("Content-Length","0");
httpPost.addHeader(another header);
HttpResponse response = client.execute(httpPost);
System.out.println(response.getStatusLine().getStatusCode());

编辑:

用@Beno Arakelyan的答案解决了这个问题。

共有1个答案

姚海
2023-03-14

我尝试用构建在apache http客户端上的http-request发送content-lengts。工作很好。示例:

private static final HttpRequest<?> HTTP_REQUEST =
      HttpRequestBuilder.createGet(YOUR_URI)
        .addDefaultHeader(HttpHeaders.CONTENT_LENGTH, "0")
        .build();

public void test(){
  System.out.println(HTTP_REQUEST.execute().getStatisCode()); // is 200
}
 类似资料:
  • 问题内容: 当用户上传文件时,我在php的error_log中收到类似的错误 PHP警告:11933650字节的POST内容长度超出了第0行中Unknown中的8388608字节的限制 在我的php.ini(在public_html中创建自定义ini文件)中是否可以解决此问题,我必须将其设置为1GB左右多少?我将在php.ini中将其设置更改为此,它将解决问题吗? 我将“ memory_limit

  • 使用简单的按预期设置所有标头。 什么样的问题可能导致这种行为?

  • 我希望在客户端下载文件时向他们显示文件的大小。< br >但是HTTP头内容长度不起作用。< br >我环境如下。 阿帕奇 2.2 mod_deflate 轨道3.2 下载文件位于rails项目公用文件夹中。 当我下载它时,响应标头是这个。 接受范围字节 访问控制允许头...源,x 请求,内容类型 访问控制允许甲基...放置、获取、发布、删除、选项 访问控制-允许-原始...http://*.co

  • 我正在使用Spring WebClient和Spring Boot 2.3.5.Release向需要application/x-www-form-urlencoded内容类型的站点发布请求。它总是失败,因为没有设置Content-Length头。我可以在代码中设置,但我不确定当内容类型为application/x-www-form-urlencoded时如何计算内容长度。我正在访问的URL是一个遗

  • 我使用WebClient(SpringBoot 2.0.2.RELEASE)发送带有SOAP请求的帖子,但它缺少遗留API所需的“内容长度”头。 是否可以将WebClient配置为包含“内容长度”标题?SpringBoot 2.0.1中为EncoderHttpMessageWriter解决并引入了一个Spring框架问题,但它似乎不适用于JAXB。 我试着使用: 和: 他们都没有为工作。不过,当使

  • 我有下面的代码发送一个多部分/表单数据请求。 在我的RestClient类中,我使用下面几行代码使用JAX-RS客户机对象发送POST请求 我使用Wiremock检查了HTTP请求主体,如下所示: 我想知道请求负载中的内容长度标头是如何丢失的。有没有办法设置请求的内容长度标头? 请帮帮我。