1

我正在尝试使用 JSoup 抓取网站 (www.oddsportal.com),但遇到了问题。

String url = "http://www.oddsportal.com/matches/";      
Document doc = null;
System.out.println("Connecting to " + url + "...");
try {
    doc = Jsoup.connect(url).get();
} catch (IOException e1) {
    e1.printStackTrace();
}

当我连接并执行“获取”时,我得到以下信息:

 Connecting to http://www.oddsportal.com/matches/...

       org.jsoup.HttpStatusException: HTTP error fetching URL. Status=456, 
       URL=http://www.oddsportal.com/matches/
            at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:435)
            at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
            at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
            at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)

可能是什么原因?似乎没有 HTTP 456 状态代码,所以我认为它是某种特定于站点的代码?该站点有登录功能,但查看内容不是必需的。我尝试过的其他网站工作得很好。

4

1 回答 1

2

如果您包含user agent它,它将起作用,来自文档

Document doc = Jsoup.connect("http://example.com").userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0").get();
于 2013-10-02T00:26:54.103 回答