使用Java和Web浏览器从同一URL读取HTML不相同

时间:2019-06-24 18:07:53

标签: javascript java html

这是我的问题

我试图使用带有参数(类似https://www.windy.com/?3.667,24.230,7,i:pressure,m:dKVagQw,p:off的URL)从www.windy.com获取风和温度值

但是当我尝试使用Java访问相同的URL时,似乎HTML输出与通过Web浏览器访问时的HTML输出不同。它缺少许多信息,包括风向和风速,这对我来说至关重要。

这是我的代码:

public static void sendGet() throws Exception {

    String url = "https://www.windy.com/?3.667,24.230,7,i:pressure,m:dKVagQw,p:off";

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

    // optional default is GET
    con.setRequestMethod("GET");

    //add request header
    con.setRequestProperty("User-Agent", "Mozilla/5.0");

    int responseCode = con.getResponseCode();
    System.out.println("\nSending 'GET' request to URL : " + url);
    System.out.println("Response Code : " + responseCode);

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

    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();

    //print result
    System.out.println(response.toString());

}

这是什么原因,对这个问题有什么解决办法吗?谢谢!

0 个答案:

没有答案