Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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
Android 如果未读取响应,HttpURLConnection不会发送请求_Android_Httpurlconnection - Fatal编程技术网

Android 如果未读取响应,HttpURLConnection不会发送请求

Android 如果未读取响应,HttpURLConnection不会发送请求,android,httpurlconnection,Android,Httpurlconnection,我有一个简单的帖子请求: val url = URL(SEND_URL) val connection = url.openConnection() as HttpURLConnection connection.doOutput = true connection.addRequestProperty("Authorization", "...") connection.addRequestProperty(

我有一个简单的帖子请求:

        val url = URL(SEND_URL)

        val connection = url.openConnection() as HttpURLConnection

        connection.doOutput = true

        connection.addRequestProperty("Authorization", "...")
        connection.addRequestProperty("Content-Type", "application/json")

        val messageJson = Gson().toJson(message)

        val outputStream = OutputStreamWriter(connection.outputStream, "UTF-8")

        outputStream.write(messageJson)
        outputStream.flush()
        outputStream.close()

        connection.connect()
它不发送任何东西

当我添加(而不是connection.connect())时

它起作用了


有人能给我解释一下为什么会这样吗?我不需要读取响应或响应代码,但如果没有它,我的请求将不会被发送。

这就是
HttpURLConnection
的工作方式。在您尝试读取响应之前,它不会发送请求。你必须至少尝试阅读回复,即使你对回复不感兴趣(不过,老实说,你为什么不检查回复,看看你的POST请求是否有效?)

请参见此问题和答案:

连接。连接()
。太晚了!您已写入服务器。所以已经有了联系。现在你又尝试连接了?毫无意义。写之前先联系。
        connection.responseCode
        connection.disconnect()