我正在尝试从here连接并检索页面标题。如果我从链接中删除“.com”之后的所有内容,代码工作正常。以下代码不起作用:
try {
Document doc = Jsoup.connect("https://news.google.com/news/local/section/geo/Sammamish,%20WA%2098075,%20United%20States/Sammamish,%20Washington?ned=us&hl=en")
.data("query", "Java")
.userAgent("Chrome")
.cookie("auth", "token")
.timeout(3000)
.post();
String title = doc.title();
Log.d("hellomate", title);
}
catch (IOException e) {
Log.d("hellomatee", e.toString());
}
如果代码有效,返回的标题应为“Sammamish Washington - Google News”。 从代码返回的错误是:“org.jsoup.HttpStatusException:HTTP错误提取URL。状态= 405,URL = https://news.google.com/news/local/section/geo/Sammamish,%20WA%2098075,%20United%20States/Sammamish,%20Washington?ned=us&hl=en”
状态405是什么意思? Jsoup不允许我使用的那种网址吗?
感谢。
答案 0 :(得分:0)
状态405是一个http错误代码,表示"方法不允许"。您可以在其上找到微软的一些文档here。正如@Andreas所说,您可以通过将.post();
更改为.get();
来解决此问题。
如果您查看示例下的the jsoup docs,它会向您显示您可能希望如何构建请求:
Jsoup.connect("http://en.wikipedia.org/").get();