Нужна взять расписание со страницы сайте https://dota2.ru/esport/matches/ Пытался использовать Jsoup
document = Jsoup.connect ("https://dota2.ru/esport/matches/").get();
System.out.println(document.title());
К сожалению, эффекта 0. Никаких сообщений об ошибке я не получаю, а title пуст Далее, пробовал получить html страницы вот так:
public class UrlConnectHelper {
private String content = null;
public String getHtml(String url)
{
try {
URLConnection connection = new URL(url).openConnection();
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\Z");
content = scanner.next();
}catch ( Exception ex ) {
ex.printStackTrace();
}
return content;
}
}
Получаю бесполезный кусок html кода (не код самой страницы).
<html><head></head><body><script>var xmlhttp = new XMLHttpRequest();function eraseCookieFromAllPaths(name) { var pathBits = location.pathname.split("/");var pathCurrent = " path=";document.cookie = name + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT;";for (var i = 0; i < pathBits.length; i++) {pathCurrent += ((pathCurrent.substr(-1) != "/") ? "/" : "") + pathBits[i];document.cookie = name + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT;" + pathCurrent + ";";}}eraseCookieFromAllPaths("BHC");xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var a=xmlhttp.responseText;document.cookie="BHC="+a+"; path=/";document.location.href="/esport/matches/"; } };xmlhttp.open("GET", "/banhammer/pid", true);xmlhttp.send();</script></body></html>
Мне кажется, проблема в том, что сайт использует защиту от DDoS и проксирование, но как это решить не знаю.
Вам нужно получить значение по ссылке https://dota2.ru/banhammer/pid и передать Cookie BHC=<значение> в запрос.
Referer: https://dota2.ru/esport/matches/3tYF8uhzelr3WAu6TqYikXIOTDg%3D_232290966385)Cookie: BHC=3tYF8uhzelr3WAu6TqYikXIOTDg%3D_232290966385) и без проблем получаем содержимое страницыНа PHP я полностью получил необходимую страницу. Так как JAVA не знаю, код под него написать не смогу.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей