Я использую CURL
с прокси вращающимся:
<code>$url = 'https://www.stubhub.com/';
$proxiesArray = array();
$curl = curl_init();
for ($i = 0; $i <= count($proxiesArray) - 1; $i++) {
//CURL options.
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($curl, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($curl, CURLOPT_PROXY, $proxiesArray[$i]);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt( $curl, CURLOPT_AUTOREFERER, TRUE );
curl_setopt( $curl, CURLOPT_HEADER, FALSE );
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 0 );
curl_setopt( $curl, CURLOPT_TIMEOUT, 0 );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $curl, CURLOPT_URL, trim($url) );
curl_setopt($curl, CURLOPT_REFERER, trim($url));
curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, TRUE );
curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
//CURL info.
$data = curl_exec( $curl );
$info = curl_getinfo( $curl );
$error = curl_error( $curl );
$all = array($data, $info, $error);
//If success.
if (empty($error)) {
echo '<pre>';
print_r($all);
echo '
';
перерыв;
}
// Подождите 2 секунды.
сна (2);
}
curl_close ($ curl);
Но я перенаправлен на страницу Recaptcha, которая содержит сообщение:
Due to high volume of activity from your computer, our anti-robot software has blocked your access to stubhub.com. Please solve the puzzle below and you will immediately regain access.
Чтобы замедлить запросы, я попытался:
curl_setopt($curl,CURLOPT_MAX_RECV_SPEED_LARGE,10);
Также:
curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, function() {
sleep(2);
return 0;
});
Но я получаю то же сообщение, так как замедлить процесс, чтобы он походил на настоящий запрос из браузера?