HttpUrlConnection的响应省略了'http'这个词

时间:2014-06-16 11:56:30

标签: java http

我使用类似"http://www.example.com/a?s=12"的字符串创建URL对象。我在字符串serverResponse中读取了HTML响应。该字符串应该包含页面的整个HTML,其中包含JavaScript和CSS。但奇怪的是," http:"在响应中显示的所有网址中都缺少该网址,例如代替"http://example.com"我获得"//asd.com"。有什么想法吗?

    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");

    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer serverResponse = new StringBuffer();

    while ((inputLine = in.readLine()) != null) {
        serverResponse.append(inputLine);
        System.out.println(inputLine);
    }
    in.close();

    System.out.println(serverResponse);

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

  

此字符串应包含页面的整个HTML,其中包含javascript和CSS。

为什么呢?正确构建的站点将尽可能使用相对URL。这似乎是其中之一。做得好,或者如果这是你的工作。

  

但奇怪的是,响应中存在的所有URL都缺少“http:”这个词,例如代替“http://example.com”我得到“//asd.com”。有什么想法吗?

它被称为协议相对URL。