Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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 在Android中优化HttpURLConnection_Java_Android_Eclipse_Http - Fatal编程技术网

Java 在Android中优化HttpURLConnection

Java 在Android中优化HttpURLConnection,java,android,eclipse,http,Java,Android,Eclipse,Http,这个问题困扰着我: HttpURLConnection con = (HttpURLConnection)new URL(url).openConnection(); con.setRequestMethod("HEAD"); if (con.getResponseCode()!=200 ){dosomething()} 这是设置请求方法的正确方法,还是已经太晚了,因为我调用了URL.openConnection(),它已经使用默认值GET建立了连接 我不能在openConnection的同

这个问题困扰着我:

HttpURLConnection con = (HttpURLConnection)new URL(url).openConnection();
con.setRequestMethod("HEAD");
 if (con.getResponseCode()!=200 ){dosomething()}
这是设置请求方法的正确方法,还是已经太晚了,因为我调用了URL.openConnection(),它已经使用默认值GET建立了连接

我不能在openConnection的同一行中调用setRequestMethod(“HEAD”),因为它返回的是URLConnection,而不是HttpURLConnection

那么,我如何确保在知道默认值为GET的情况下始终使用HEAD方法呢


我应该只使用HttpClient吗?

这是正确的方法

调用
openConnection()
实际上没有任何作用。请求不会“提交”(也就是说,不会向服务器发送任何内容),直到您请求服务器响应中返回的内容,如响应主体(
con.getInputStream()
)、状态(
con.getResponseCode()
)或其他响应头。这使您有时间在
HttpUrlConnection
上设置选项,例如是否计划发送请求正文(即POST)、设置请求方法等


顺便说一下,您可以将方法设置为“在同一行上”,但在同一行上是没有意义的:要么
openConnection()
发送请求方法,要么不发送。之后发生的方法调用不是一个因素,不管它们在哪一行。

Drat!这意味着我必须去别处寻找我的瓶颈!谢谢你的回答。