gpt4 book ai didi

java - 查询 url 时我的 java 应用程序和导航器之间的行为不同

转载 作者:行者123 更新时间:2023-12-01 15:58:45 25 4
gpt4 key购买 nike

我想从meteo 服务查询portlet。但是,当我的导航器为我提供了正确的页面时,我的 Java 应用程序却没有。

这是我的没有 try/catch 的代码:

public static void main(String[] args) {
// The portlet URL
String cookieUrl = "http://france.meteofrance.com/france/meteo?PREVISIONS_PORTLET.path=previsionspluie/290190";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
// Some proxy configuration

// Basic properties set to perform my task, but they might be useless as it does not work as I would
connection.setRequestProperty("Accept-Charset", "UTF-8");
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");

System.out.println(handler.getHtml(reader));
}

private String getHtml(BufferedReader reader)
{
String html = "";
for (String line; (line = reader.readLine()) != null;)
html += line + "\n";
return html;
}

您可以使用示例中给出的 portle url 来测试它。在导航器中,响应包含正确的“prevision de pluie pour Brest”。在 java 应用程序中,响应包含此页面:http://france.meteofrance.com/NoCookie.htm

这似乎是一个cookie问题。但是我该如何处理它,因为我第一次尝试获取 cookie 并将其发回不成功。

请问有什么帮助吗?

最佳答案

您尝试访问的网站似乎依赖于 Cookies HttpURLConnection 不支持这些。解决这个问题的方法是使用像 HtmlUnit 这样的库。它模拟浏览器(支持 cookies、javascript 等)。

关于java - 查询 url 时我的 java 应用程序和导航器之间的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com