我正在尝试从谷歌返回的页面列表中检索一些 html 文本。它们中的大多数都可以正常工作,但是对于诸如https://www.google.com/patents/US6034687之类的 URL,总是会出现 401 错误,请参见下文
Server returned HTTP response code: 401 for URL: https://www.google.com/patents/US6034687
我正在使用 java,我确实查看了这个错误代码,它似乎与身份验证有关,但这种 URL 可以从任何浏览器访问,而无需要求登录。所以我很困惑,为什么只有这种 URL 对我不起作用。这是我检索 html 的代码
URL u=new URL(url);
StringBuilder html =new StringBuilder();
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "text/html");
BufferedReader br;
try {
br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
String out="";
while ((out= br.readLine()) != null) {
// System.out.println(out);
html.append(out+"\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
任何的想法?
谢谢