vServer заблокирован Cloudflare (решите капчу на консоли)

Нужны идеи, я работал с внешним API (Path of Exile) и случайно достиг макс. лимит запросов, поэтому мой vServer теперь заблокирован (Cloudflare). Когда я теперь хочу получить доступ к API, я получаю следующее

"Еще один шаг. Пожалуйста, пройдите проверку безопасности, чтобы получить доступ к www.pathofexile.com"

ecetera ecetera, то теоретически приходит Google Captcha.

Проблема в том, что мне нужен графический браузер для решения капчи/проверки безопасности, верно? Что было бы лучшим решением для решения капчи сейчас? Я думал о каком-то способе туннелировать свой собственный браузер и притворяться сервером, возможно ли это? Если да, то какие ключевые слова в Google помогут.

Или кто-нибудь предложит еще более простое решение, которое будет работать только на консоли? Или с помощью простого php-скрипта, например (file_put_contents во временном файле, а затем помещая его в iframe, но предварительно заменяя некоторые URL-адреса/пути?)

Думаю проблема не в коде, а тут

$realm = "pc";
$league = "Standard";
$uiagent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36';
$poeurl = 'https://www.pathofexile.com/character-window/get-stash-items?league=' . $league . '&realm=' . $realm . '&accountName=' . $_COOKIE["accountname"] . '&tabs=0&tabIndex=' . $_GET['no'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $poeurl);
curl_setopt($ch, CURLOPT_USERAGENT, $uiagent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'POESESSID'); 
curl_setopt($ch, CURLOPT_COOKIEFILE,'/var/www/vhosts/XXXXXXXXX.de/www/html/poe/cookie.txt'); 
curl_setopt($ch, CURLOPT_COOKIE, "POESESSID=b34637XXXXXXXXXXXXXXX");
curl_setopt($ch, CURLOPT_COOKIEFILE, '/var/www/vhosts/XXXXXXXXX.de/www/html/poe/cookie.txt');
$answer = curl_exec($ch);
if (curl_error($ch)) {
    echo curl_error($ch);
} else {
    echo $answer;
    file_put_contents(getcwd() . "/cache/" . $_COOKIE["accountname"] . "/stash-" . $_GET['no'] . ".json", $answer);
}

person Nerdpraxis    schedule 19.01.2020    source источник


Ответы (1)


Наконец решил это

Хорошо, надеюсь, это поможет кому-то когда-нибудь. Вот как я решил свою проблему.

Поскольку у меня был SSH-доступ через шпатлевку, я изменил настройки подключения в Firefox, чтобы использовать мой туннель шпатлевки через сервер, таким образом, целевой API получил IP-адрес с сервера, когда я получил к нему доступ в FireFox, и я мог решить капчу, на удивление просто . Вот одно сообщение в блоге, как это сделать: https://www.adamfowlerit.com/2013/01/using-firefox-with-a-putty-ssh-tunnel-as-a-socks-proxy/

person Nerdpraxis    schedule 21.01.2020