Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 37
RAD XE3+

Как взять содержимое странички сайта если выдает "Checking your browser before accessing"

21.03.2018, 17:21. Показов 2679. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Есть запрос на idhttp:

Delphi
1
2
3
4
5
6
7
8
9
IdHTTP:=TIdHTTP.Create(Nil);
      IdHTTP.AllowCookies := True;
      IdHTTP.HandleRedirects := true;
      IdHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP);
 
      try
      IdHTTP.Get(newURL, Stream); // тут ошибка 500
      except
      end;
необходимо опрашивать около 60ти сайтов. из них 2 - 3 не могу загрузить этой конструкцией, остальные исправно отдают код. Пока только 1 поток, ssl как видите подключен.

Изобразив такой подход
Delphi
1
2
3
4
5
6
7
8
9
10
11
...
IdHTTP.ConnectTimeout:= 10000;
...
 
Try
    s :=IdHTTP.Get(gourl);
Except
      on e:EIdHTTPProtocolException do begin
        errtext:=e.ErrorMessage;
      end;
  End;
иногда в "s" получаю нормальный код, но в 18 из 20ти попыток получаю e.ErrorMessage с кодом странички "Checking your browser before accessing"
полный ее код:
Кликните здесь для просмотра всего текста

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<title>Just a moment...</title>
<style type="text/css">
html, body {width: 100%; height: 100%; margin: 0; padding: 0;}
body {background-color: #ffffff; font-family: Helvetica, Arial, sans-serif; font-size: 100%;}
h1 {font-size: 1.5em; color: #404040; text-align: center;}
p {font-size: 1em; color: #404040; text-align: center; margin: 10px 0 0 0;}
#spinner {margin: 0 auto 30px auto; display: block;}
.attribution {margin-top: 20px;}
@-webkit-keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
@keyframes bubbles { 33%: { -webkit-transform: translateY(10px); transform: translateY(10px); } 66% { -webkit-transform: translateY(-10px); transform: translateY(-10px); } 100% { -webkit-transform: translateY(0); transform: translateY(0); } }
.bubbles { background-color: #404040; width:15px; height: 15px; margin:2px; border-radius:100%; -webkit-animation:bubbles 0.6s 0.07s infinite ease-in-out; animation:bubbles 0.6s 0.07s infinite ease-in-out; -webkit-animation-fill-mode:both; animation-fill-mode:both; display:inline-block; }
</style>

<script type="text/javascript">
//<![CDATA[
(function(){
var a = function() {try{return !!window.addEventListener} catch(e) {return !1} },
b = function(b, c) {a() ? document.addEventListener("DOMContentLoa ded", b, c) : document.attachEvent("onreadystatechange ", b)};
b(function(){
var a = document.getElementById('cf-content');a.style.display = 'block';
setTimeout(function(){
var s,t,o,p,b,r,e,a,k,i,n,g,f, rGCmUMm={"Ttani":+((!+[]+!![]+!![]+[])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))};
t = document.createElement('div');
t.innerHTML="<a href='/'>x</a>";
t = t.firstChild.href;r = t.match(/https?:\/\//)[0];
t = t.substr(r.length); t = t.substr(0,t.length-1);
a = document.getElementById('jschl-answer');
f = document.getElementById('challenge-form');
;rGCmUMm.Ttani-=+((+!![]+[])+(+!![]));rGCmUMm.Ttani+=+((+!![]+[])+(!+[]+!![]+!![]+!![]+!![]));a.value = parseInt(rGCmUMm.Ttani, 10) + t.length; '; 121'
f.action += location.hash;
f.submit();
}, 4000);
}, false);
})();
//]]>
</script>


</head>
<body>
<table width="100%" height="100%" cellpadding="20">
<tr>
<td align="center" valign="middle">
<div class="cf-browser-verification cf-im-under-attack">
<noscript><h1 data-translate="turn_on_js" style="color:#bd2426;">Please turn JavaScript on and reload the page.</h1></noscript>
<div id="cf-content" style="display:none">

<div>
<div class="bubbles"></div>
<div class="bubbles"></div>
<div class="bubbles"></div>
</div>
<h1><span data-translate="checking_browser">Checking your browser before accessing</span> master.com.ua.</h1>

<p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
<p data-translate="allow_5_secs">Please allow up to 5 seconds&hellip;</p>
</div>

<form id="challenge-form" action="/cdn-cgi/l/chk_jschl" method="get">
<input type="hidden" name="jschl_vc" value="48a041c14daeafdd4afa43bc598aa6fa"/>
<input type="hidden" name="pass" value="1521640632.078-51pua6rSgK"/>
<input type="hidden" id="jschl-answer" name="jschl_answer"/>
</form>
</div>


<div class="attribution">
<a href="https://www.cloudflare.com/5xx-error-landing?utm_source=iuam" target="_blank" style="font-size: 12px;">DDoS protection by Cloudflare</a>
<br>
Ray ID: 3ff0ed057a0b8b46
</div>
</td>

</tr>
</table>
</body>
</html>



Большое любопытство представляют эти строки
HTML5
1
2
<input type="hidden" name="jschl_vc" value="48a041c14daeafdd4afa43bc598aa6fa"/>
<input type="hidden" name="pass" value="1521640632.078-51pua6rSgK"/>
Можно ли как-то преодолеть этот тест на javascript с помощью indy? либо как-то по другому взять код странички. Частота запросов к сайту около 1 в пару часов!!!!! т.е. никакого задалбывания не делаю.
могу предоставить линк может вы что нашаманите, или идеи какие будут.... пробовал синапс, он тоже на этом затарчивает.

добавлю: Среда разработки delphi 10.2 tokyo, indy 10.6.2.5366, ssl от 14.09.2016 (поправленные под delphi 10.2)

ХЕЛП!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.03.2018, 17:21
Ответы с готовыми решениями:

Обход Checking your browser before
Ребята, кто-нибудь знает, как обойти эту защиту? Судя по всему, от ddos. Я парсю сайты, получаю код html. У меня там своя функция, но...

Как сохранить содержимое Browser? и другие вопросы..
Ответьте пожалуйста на несколько вопросов: 1.Как сохранить содержимое Browser? 2.Я с помощью Inet получаю код НТМЛ страницы, сохраняю....

Как поменять содержимое странички локальной сети?
Есть страничка в локальной сети содержащая одну цифру, как поменять эту цифру с любого компьютера сети в С# ? Страничку создает модуль...

2
5949 / 4525 / 1094
Регистрация: 29.08.2013
Сообщений: 28,105
Записей в блоге: 3
22.03.2018, 01:04
может в Header надо передавать имя браузера?
0
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 37
24.03.2018, 00:44  [ТС]
Тут все просто. Это обычный тест на javascript. т.е. если мы бот (indy) то получив код инди завершает свою миссию, даже TWebBrowser и тот должен быть в отдельном потоке чтобы нормально запустить скрипт с таймером в 4 сек, ибо опять же получаем READYSTATE_COMPLETE и скрипт не срабатывает.

Смотрел сие чудо сниффером, нужно разобрать этот скрипт. все понятно кроме одного параметра. передаются две строки которые я указал в заголовке и еще одно - "jschl_answer=" и число.

Разобрав код не могу понять из чего состоит данная величина, и вот думаю как бы модифицировать скрипт до его выполнения в браузере, чтобы посмотреть что находится в переменных на каждом этапе. Так можно просто повторить алгоритм в делфи и остаться в рамках INDY без всяких TWebBrowser, что очень бы хотелось.

Есть у кого соображения как воспользоваться WebBrowser1BeforeScriptExecute? пробовал локально - не работает, привязан скрипт к урлу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2018, 00:44
Помогаю со студенческими работами здесь

Как прочитать содержимое странички вконтакте - вкладку с аудиозаписями какого-нибудь id ?
Как прочитать список аудиозаписей из контактов? Когда ввел логин и пароль контактов, зашел на страницу и получило возможность...

Выдаёт checking file system при загрузке..
при загрузке стал выдавать вот это сообщение(которое на картинке) и пару раз зависал по истечению времени,т.е.пару раз уже не смог...

Lenovo Z500 выдаёт checking file system при загрузке
У меня со вчерашнего дня такая же проблема началась после включения компа выскакивает это сообщение с проверкой диска. Я вчера антивирусом...

Easy Balance Checking: код выдает правильный ответ, но валидацию не проходит
Задача https://www.codewars.com/kata/59d727d40e8c9dd2dd00009f/train/javascript Очень обидно потому что еле добился правильного...

Как взять содержимое коллекции?
Есть класс: public class DoctorsLoad { public string about { get; set; } public string content { get; set;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru