Java - 获取URL的Jsoup HTTP错误。状态= 405

时间:2017-08-08 19:45:25

标签: java android jsoup

我正在尝试从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不允许我使用的那种网址吗?

感谢。

1 个答案:

答案 0 :(得分:0)

状态405是一个http错误代码,表示"方法不允许"。您可以在其上找到微软的一些文档here。正如@Andreas所说,您可以通过将.post();更改为.get();来解决此问题。

如果您查看示例下的the jsoup docs,它会向您显示您可能希望如何构建请求:

Jsoup.connect("http://en.wikipedia.org/").get();