Как убрать гугл капчу из запроса curl? - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь удалить данные с одного сайта. Но проблема в том, что когда я отправляю запрос CURL, каждый раз показывается Google recaptcha.

Как я могу удалить эту проверку безопасности.

Вот мой код:

<code>$url = 'https://www.zillow.com/browse/homes/ca/';

$data = array(
    'secret' => "my-secret",
    'response' => "my-response"
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result=curl_exec ($ch);
curl_close ($ch);

echo '<pre>';
print_r($result); 
echo '
';Выход;

1 Ответ

1 голос
/ 14 октября 2019

Это невозможно (по крайней мере, не легко)

Вариант использования reCAPTCHA - чтобы точно запретить то, что вы делаете.
Однако некоторые сайты запрашивают reCAPTCHA только когдазаголовок пользовательского агента не был отправлен.
Попробуйте

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'
));

Это позволит сайту думать, что вы используете Firefox 47 в Windows 7

...