Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在写入内容之前在HttpUrlConnection上调用getResponseCode会引发IOException_Java_Android_Http_Httpurlconnection - Fatal编程技术网

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

Java 在写入内容之前在HttpUrlConnection上调用getResponseCode会引发IOException,java,android,http,httpurlconnection,Java,Android,Http,Httpurlconnection,我正在尝试实现以下内容: 打开一个POST连接 读取响应代码 写内容 读取响应代码 第二步引发以下异常: Caused by: java.io.IOException: content-length promised 345286 bytes, but received 0 我知道'getResponseCode'将关闭写入流,但我需要找到一种方法,在实际写入任何内容之前,如何读取响应代码。由于(例如)401代码,我想跳过将内容写入请求正文(100MB)的过程。HTTP不是这样工作的。您需要发

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

  • 打开一个POST连接
  • 读取响应代码
  • 写内容
  • 读取响应代码
  • 第二步引发以下异常:

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

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

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

    正确的方法是执行以下操作:

  • 打开一个POST连接
  • 写内容
  • 读取响应代码

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

    我担心这一点。谢谢你的反馈。