groovy,Jsoup,获取状态代码

时间:2014-04-14 14:40:05

标签: groovy jsoup http-response-codes

我希望有人可以帮助我,因为我一直在寻找它,但没有找到任何工作。

我从列表中连接到一些网址,一切正常,但后来我开始在某些网站上收到404错误,因此现在我想抓住错误,以便程序不会终止并继续通过列表网址。

这是我得到的错误

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http:nameofthesite

我正在使用Jsoup.connect,错误是在这行代码中引起的

    Document doc= Jsoup.connect(countryUrl[i2]).timeout(10*1000)                      
    .userAgent("Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")
    .get();

如何更改代码以便获取状态代码。 我已经尝试过Connection.response(我在这个网站上找到的东西作为解决这类问题的方法)但是我得到了投射错误

 Connection.response  response= Jsoup.connect(countryUrl[i2]).timeout(10*1000)                      
            .userAgent("Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")
            .execute();
            int statusCode = response.statusCode();
            if(statusCode==200){

但是我收到以下错误

groovy.lang.MissingMethodException: No signature of method: static org.jsoup.Connection.response() is applicable for argument types: (org.jsoup.helper.HttpConnection$Response) values: [org.jsoup.helper.HttpConnection$Response@c7325ae]
Possible solutions: respondsTo(java.lang.String), respondsTo(java.lang.String, [Ljava.lang.Object;)

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

你的代码中有一个拼写错误:

Connection.response response = Jsoup.connect(...) ...
//         ^
//         |

ResponseConnection的静态类(正确的接口),所以只需更改代码:

Connection.Response response = Jsoup.connect(...) ...