Java jsoup statusCode赢了';t打印404错误
在我的Javaservlet中,我希望根据从请求返回到url的状态代码执行一些操作 我的代码如下所示:Java jsoup statusCode赢了';t打印404错误,java,jsoup,Java,Jsoup,在我的Javaservlet中,我希望根据从请求返回到url的状态代码执行一些操作 我的代码如下所示: String source = "http://urltoparse.org/name/date"; boolean validQuery = jsoupHandler.sourceExists(source); int statusCode = jsoupHandler.srcExists(source); response.getWriter().println("stat: " + s
String source = "http://urltoparse.org/name/date";
boolean validQuery = jsoupHandler.sourceExists(source);
int statusCode = jsoupHandler.srcExists(source);
response.getWriter().println("stat: " + statusCode);
String source = "http://urltoparse.org/name/date2";
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http://urltoparse.org/name/date2
jsoupHandler:
public class JSoupHandler {
public int srcExists(String source) throws IOException {
Connection.Response resp = Jsoup.connect(source).execute();
System.out.println("status" + resp.statusCode());
return resp.statusCode();
}
}
当statusCode==200
时,它会打印
浏览器中的stat:200
,以及jsouphandler的我的控制台中的status200
但是,当我输入一个应该返回404的源时,如下所示:
String source = "http://urltoparse.org/name/date";
boolean validQuery = jsoupHandler.sourceExists(source);
int statusCode = jsoupHandler.srcExists(source);
response.getWriter().println("stat: " + statusCode);
String source = "http://urltoparse.org/name/date2";
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http://urltoparse.org/name/date2
浏览器不打印任何内容,而我的控制台打印如下错误:
String source = "http://urltoparse.org/name/date";
boolean validQuery = jsoupHandler.sourceExists(source);
int statusCode = jsoupHandler.srcExists(source);
response.getWriter().println("stat: " + statusCode);
String source = "http://urltoparse.org/name/date2";
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http://urltoparse.org/name/date2
为什么浏览器和控制台的打印语句都不打印状态代码?我想做一些像
if (statusCode != 200) {
//do something
}
但是我不能进入这个条件语句
我已经看过这个链接:
但无法让它为我工作。添加
.ignoreHttpErrors(true)
按照你的要求
请参阅API:我使用的是Connection.Response,而不是Connection.Request,根据这一点:''.statusCode()应该返回状态代码是什么,我不确定如果我使用Connection.Request
Jsoup.connect(source.execute()代码>是一个请求,您正在存储响应。请求导致http错误,并通过设置Jsoup.connect(source).ignoreHttpErrors(true.execute()代码>您告诉Jsoup在连接时忽略http错误,否则Jsoup会对http错误抛出异常。