vServer заблокирован Cloudflare (решить капчу на консоли) - PullRequest
0 голосов
/ 19 января 2020

Нужны идеи, я работал с внешним 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);
}

1 Ответ

0 голосов
/ 22 января 2020

Окончательно решил это

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

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

...