【问题标题】:How android HttpURLConnection works?android HttpURLConnection 是如何工作的?
【发布时间】:2016-06-10 09:49:06
【问题描述】:

我正在研究 HttpURLConnection 类以从我的应用程序中执行一些网络活动。所以我想知道 HttpURLConnection 如何在内部工作。我浏览了这个类,发现在 URLConnection 中定义为抽象的 connect() 方法。

但我找不到 connect() 方法定义。所以我很好奇 HttpURLConnection 是如何连接到服务器的。

我的代码

        URL url = new URL("https://example.com");
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestProperty("Accept-Encoding", "identity");
        connection.setRequestProperty("Authorization", basicAuth);
        connection.setRequestProperty("Connection", "keep-alive");
        connection.setRequestProperty("Content-type", "");
        connection.setRequestProperty("User-Agent", "LibHttp/1.3.8");
        connection.setRequestMethod("POST");

        connection.connect(); // how it connects //

请给我一些解决方案。

【问题讨论】:

标签: android httpurlconnection urlconnection


【解决方案1】:

这是一个非常广泛的问题。我将尝试简要回答。

每当我们说我们正在发出一个 http 请求时,我们都会在端口 80(端口 443 用于 https)上建立与服务器的套接字连接。然后我们按照http协议写入socket,等待服务器响应。

这里我们可以设置一个超时时间来建立连接,然后设置一个等待服务器响应的时间。

这是一个同步调用,这意味着线程将被阻塞,直到服务器响应或超时发生。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-03-10
  • 2014-02-27
  • 2021-08-25
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多