如何防止openConnection()实际连接
我想使用HttpURLConnection
连接到我的webservice,POST一个XML并获得结果。 我使用以下代码:
URL url = new URL(urlString); connection = (HttpURLConnection)url.openConnection(); connection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
问题是,当我调用setRequestProperty
方法时,它失败并出现IllegalStateException
说我“已经连接”了。 显然, openConnection
实际上打开了与URL的连接(在我的调试器中,我可以看到connected
布尔值设置为true
)。 根据Oracle的URL
文档,它不应该。 Android文档尚不清楚。
如何阻止openConnection
连接,以便我可以设置额外的属性?
更新看起来connection
在某个池中并且不会断开连接,甚至在调用connection.disconnect()
,甚至不会杀死服务器。
我认为这不是这个问题的重复,因为它没有给出真正的答案。 此外,文件似乎不清楚。
openConnection()
没有连接,你发布的代码不像你所描述的那样。 打开TCP连接的是以下任何一种:
-
getInputStream()
-
getErrorStream()
-
getResponseCode()
在尝试设置请求属性之前,你必须先调用其中一个。