【问题标题】:Difference between URL.openConnection() and URLConnection.connect()?URL.openConnection() 和 URLConnection.connect() 的区别?
【发布时间】:2013-04-03 08:33:00
【问题描述】:

在代码中:

HttpURLConnection connection = (HttpURLConnection)createMerchURL.openConnection();
connection.setRequestMethod("PUT");
connection.addRequestProperty("Name", "Value1");

connection.connect();

..
connection.disconnect();
  • 真正打开连接的时间是什么时候?在..createMerchURL.openConnection();?或connection.connect();

  • 如何在 connection 对象中设置 URL 并将其与 connection.connect() 一起使用?(因为我对 .openConnection() 不太满意)

最后,这两者有什么区别吗?

谢谢..

【问题讨论】:

    标签: java android httpurlconnection


    【解决方案1】:

    连接实际上是什么时候打开的?在 ..createMerchURL.openConnection(); ?还是在 connection.connect();?

    后者。前者只是解析 URL,找到协议,然后创建 HttpURLConnection 对象。

    如何在连接对象中设置 URL

    你不能。

    并将其与 connection.connect() 一起使用?

    你不能。

    (因为我对 .openConnection() 不太满意)

    运气不好:适应它吧。

    【讨论】:

    • Bad luck: get comfy with it. haha​​ha..最好的部分:p 即使在 3 年后。感谢 Rx 和 Retrofit/OkHttp 我继续前进:D
    【解决方案2】:

    connection.connect() 不是必需的。依赖于连接的操作,如 getContentLength(), getResponseCode() 将在必要时隐式执行连接。

    来源:Java Docs

    【讨论】:

    • 全部正确,但没有回答他提出的任何一个问题。
    【解决方案3】:

    除了其他答案,如果你只是想在某个地址触发一些PHP文件(通过GET),你可以简单地在openConnection()之后使用connect(),然后当然是disconnect()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-16
      • 2016-11-10
      • 2013-08-07
      • 2011-10-20
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多