У меня возникли проблемы с подключением к URL-адресу с JSoup.Jsoup malformed url
URL-адрес, который я пытаюсь проверить, - www.xbox.com/en-US/security, который является 302 (я думаю) перенаправлением на http://www.xbox.com/en-US/Live/Account-Security. Я настроил jsoup, чтобы выполнить перенаправление и получить новый url, используя .headers («location»). Возвращаемый 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-адресом и если он не проверяет его?
Спасибо за это, вы можете просто объяснить один бит. Я немного смущен. В первой проверке вы измените URL-адрес на «newUrl = checkUrl + URL;» это не даст мне что-то вроде: «/live/account-securityhttp://www.xbox.com/en-US/security». Мне нужно выяснить, что такое базовый url и присоединиться к нему с помощью checkUrl? – Peck3277
Ха-ха. Виноват. Он должен быть URL + checkUrl. Просто отредактировал его. Но да. Это точно. Вы должны найти так называемый канонический url. который всегда похож на «http://www.mainpage.com/» или «http://www.mainpage.com/mainsession». (Если вы перемещаетесь по hrefs, вы обнаружите, что на многих сайтах вы не перенаправлены на полную страницу, а на часть ее, которая позже будет объединена с этим каноническим url. –