我在使用 JSoup 连接到 url 时遇到问题。
我要测试的网址是 www.xbox.com/en-US/security,这是一个 302(我认为)重定向到 http://www.xbox.com/en-US/Live/Account-Security。我已经设置了 jsoup 来跟踪重定向并使用 .headers("location") 获取新的 url。返回的 url 是 /en-US/Live/Account-Security。我不知道如何处理它,我的代码如下:
while (i < retries){
try {
response = Jsoup.connect(checkUrl)
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
.followRedirects(false)
.timeout(10000)
.execute();
success = true;
break;
} catch (SocketTimeoutException ex){
timeout = true;
} catch (MalformedURLException ep){
malformedUrl = true;
}catch (IOException e) {
statusCode = 404;
}
}
private void getStatus(){
if (success){
statusCode = response.statusCode();
success = false;
}
if (statusCode >= 300 && statusCode <= 399){
//System.out.println("redirect: " +statusCode + " " +checkUrl);
checkUrl = response.header("location");
//System.out.println(checkUrl);
connect();
getStatus();
}
}
有没有人对如何处理这个问题提出建议?或者我应该检查一下我的 checkUrl = response.header("location"); 看看它是否是一个有效的 url,如果不是,不测试它?