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!这意味着我必须去别处寻找我的瓶颈!谢谢你的回答。