Получение «502 Bad Gateway» Фронт Cloudfront при очистке веб-сайта?

Я построил скриптовый скрипт на PHP для сбора информации с определенного сайта. Я тщательно протестировал скрипт с загруженными файлами HTML с целевого сайта, поэтому запросы xpath верны. Вчера я впервые попробовал сценарий локально, но нацелился на реальный сайт, и он сработал. Затем я взял сценарий, поместил его на свою ферму серверов и включил.

Этим утром я проснулся с 90 электронными письмами с одного конкретного сервера, в которых говорилось, что произошла ошибка. Другой сервер отправил около 10 электронных писем, в то время как два других, похоже, отлично работают. Я проверил журналы, которые я храню в базе данных, и все обнаруженные ошибки были «502 Bad Gateway». Я пробовал URL через обычный веб-браузер, и он нормально загружается, и я пробовал URL через метод wget на том же сервере. Wget возвращает эту ошибку:

ОШИБКА: сертификат http://www.targetwebsite.com не является
доверять.

ОШИБКА: сертификат http://www.targetwebsite.com не получил
известный эмитент

Использование флага «—no-check-Certificate» все еще приводит к ошибке, но в любом случае загружает файл HTML.

Так или иначе, в моем скрипте у меня есть следующий код:

// Assign Curl Options
$curlOptions = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
CURLINFO_HEADER_OUT => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_HTTP_VERSION => 'CURL_HTTP_VERSION_1_1',
CURLOPT_COOKIE => $cookiesJar,
CURLOPT_USERAGENT => $userAgent,
);

// URL To scrape
$url = "https://www.targetsite.com/specific/page/";// Build Curl Headers
$ch = curl_init($url);
curl_setopt_array($ch, $curlOptions);

$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
$responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

Так что это имеет тенденцию работать, но, очевидно, на данный момент не на 100% надежно из-за того, что Cloudfront возвращает 502 ошибки Bad Gateway. Но, в то же время, я никогда раньше не создавал сценарий очистки веб-страниц, и, хотя я уверен, что это все, что мне нужно, чтобы заставить сайт думать, что я законный пользователь, ну, очевидно, я что-то упустил!

Из некоторого чтения, которое я прочитал, шла речь о том, как вам нужно будет передавать шифры на целевой сайт. Итак, я добавил это в опции curl:

CURLOPT_SSL_CIPHER_LIST => 'ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES256-SHA ,AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA, AES128-SHA, RC4-MD5',

Я заметил некоторые улучшения, но я все еще получаю достаточное количество 502.

Если бы кто-нибудь мог мне помочь, это было бы удивительно.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector