gpt4 book ai didi

java - 在写入内容之前调用 HttpUrlConnection 上的 getResponseCode 会引发 IOException

转载 作者:可可西里 更新时间:2023-11-01 16:38:10 24 4
gpt4 key购买 nike

我正在尝试实现以下内容:

  1. 打开一个 POST 连接。
  2. 读取响应代码。
  3. 写内容。
  4. 读取响应代码。

第二步抛出如下异常:

Caused by: java.io.IOException: content-length promised 345286 bytes, but received 0

我知道“getResponseCode”会关闭写入流,但我需要找到一种方法来在实际写入任何内容之前读取响应代码。由于(例如)401 代码,我想跳过将内容写入请求正文 (100 MB) 的过程。

最佳答案

HTTP 不是那样工作的。您需要发送完整的请求,然后才能读取响应代码。在您的情况下,您的响应 promise 了一个 345286 字节的请求正文,但您没有发送任何内容。

正确的做法是:

  1. 打开一个 POST 连接。
  2. 写内容。
  3. 读取响应代码。

如果您想验证服务器是否允许这样做(以避免 401),您可以先添加一个小的 GET 请求来验证身份验证。

关于java - 在写入内容之前调用 HttpUrlConnection 上的 getResponseCode 会引发 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com