URL.openConnection()如何让我读取标题?

时间:2013-07-17 18:45:35

标签: java networking

我最近在试验java网络,我觉得有点奇怪,假设你有

URL url = new URL("http://www.google.com");
URLConnection con = url.openConnection();

然后我可以调用方法,比如con.getContentLength()等等,他们会给我正确的值,即使我没有调用con.connect()。怎么可能?我的意思是,URLConnection来自/如何获取这些标题,我还没有调用con.connect(),所以没有发送请求,所以当时没有标题可用。

1 个答案:

答案 0 :(得分:0)

当您调用任何需要响应的方法时,实际的TCP连接会发生,例如getContentLength(),getInputStream(),getResponseCode()。它不会发生在openConnection()。该请求将在此时发送。

除非您正在使用其中一种流模式,而您正在使用请求内容进行PUT或POST,在这种情况下,当您开始编写请求时会打开连接。