Стоит задача парсинга robots.txt. Использую php curl. На некоторых сайтах получаю ответ типа
cURL Error (28): Operation timed out after 30001 milliseconds with 0 bytes received
Увеличение таймаута не решает проблему. Сам код парсинга:
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$robots = curl_exec($ch);
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
curl_close($ch);
для примера урл: https://www.adidas.ru/robots.txt
Добавь в код свой строчку:
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
https://www.adidas.ru/robots.txt - отдается по дефолту gzip'ом, как видать и ряд других robots.txt с которыми у тебя проблемы.
UPD
Второй вариант это попросить не отдавать сервера контент gzip'ом передав заголовок
curl_setopt($ch, CURLOPT_HTTPHEADER, ['accept-encoding: deflate, br']);
это если вдруг у кого в сборках/версиях проблема с gzip
// Один из вариантов возможных причин:
Иногда у curl
возникают проблемы с подключением к SSL
серверам при использовании SSLeay
или OpenSSL v0.9+
.
Многие старые SSL-сервера не работают с запросами SSLv3
. Чтобы устранить эту проблему, добавьте в командной строке curl
параметр --sslv2
.
Были случаи, когда удаленному серверу не нравился запрос SSLv2
, и вместо этого надо было использовать SSLv3
. Параметр командной строки --sslv3
.
В ubuntu 16.04 существуют ограничения по подключению sslv3, видимо сервер запрещает другую версию https://ubuntugeeks.com/questions/33156/simple-way-of-enabling-sslv2-and-sslv3-in-openssl
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возможно не правильно задал вопросМожно ли как-то сделать форму, чтобы при заполнении и отправке происходила отправка письма и тут же появлялось...
В коде, в цикле я задаю уникальные idНо они начинаются повторяться в БД, из-за неверных функций