【问题标题】:Optimizing HttpURLConnection in Android在 Android 中优化 HttpURLConnection
【发布时间】:2010-09-07 19:04:54
【问题描述】:

这个问题困扰着我:

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 吗?

【问题讨论】:

    标签: java android eclipse http


    【解决方案1】:

    这是正确的方法。

    调用openConnection() 实际上并没有做任何事情。除非您请求服务器响应中返回的内容,例如响应正文 (con.getInputStream())、状态 (con.getResponseCode() ),或其他一些响应标头。这让您有时间在 HttpUrlConnection 上设置选项,例如您是否计划发送请求正文(即 POST)、设置请求方法等。

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

    【讨论】:

    • 该死!这意味着我必须在别处寻找我的瓶颈!谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2011-09-05
    相关资源
    最近更新 更多