android HttpURLConnection如何工作?

时间:2016-06-10 09:49:07

标签: android httpurlconnection urlconnection

我正在使用 HttpURLConnection 类从我的应用程序中执行一些网络活动。所以我想知道HttpURLConnection如何在内部工作。我经历了这个课程,发现在 URLConnection 中定义为摘要的connect()方法。

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

mycode的

        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 //

请建议我解决一下。

1 个答案:

答案 0 :(得分:1)

这是一个非常广泛的问题。我将尽力回答这个问题。

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

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

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