Привет, мир.
Пытаюсь спарсить ресурс, но он этому противится. Через раз думает, что я робот. Взял все хэдеры из браузера - не помогло. Из браузера всё работает, даже если бесконечно спамить, а тут даже с задержкой не хочет.
Сам код:
/**
* get запрос на внешний ресурс
*
* @param string $url Ссылка на ресурс
* @param array $headers Дополнительные заголовки запроса
*
* @return bool|string false в случае ошибки или текст ответа от ресурса
*/
public static function get(string $url, array $headers = []){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__.DIRECTORY_SEPARATOR."cook.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__.DIRECTORY_SEPARATOR."cook.txt");
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"accept-language: ru,en;q=0.9",
"cache-control: max-age=0",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 YaBrowser/19.6.1.153 Yowser/2.5 Safari/537.36"
] + $headers);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 YaBrowser/19.6.1.153 Yowser/2.5 Safari/537.36");
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
if(($error = curl_error($ch))){
echo "CUrl вернул ошибку: ".$error;
}
curl_close($ch);
return $result;
}
Сам ресурс:
https://www.copart.com/public/data/lotdetails/solr...