Пишу парсер выдачи результатов поиска гугла. Вроде бы несложно. Аналогичный парсер яши и мэйл работает. Но возникла проблема при скачивании картинки капчи. Упорно выдает 403 forbidden.
Делаю запрос к гуглу:
$url = 'https://www.google.ru/search?complete=1&hl=ru&q='.urlencode($query)...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXY, $host.":".$port);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $login.":".$pass);
$content = curl_exec($ch);
// Далее если получил редрект:
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == 302)
{
// .................
// Выдираю картинку капчи и пытаюсь ее скачать
// .................
$captcha_image = 'http://ipv4.google.com/'.$image;
$fh = fopen($captcha_file, 'w');
curl_setopt($ch, CURLOPT_URL, $captcha_image);
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
fclose($fh);
// Но вместо картинки получаю 403 forbidden.
}
curl_close($ch);
Пробовал при запросе картинки заново инициализировать сеанс cURL. Результат тот же.
Содержимое файла $cookie_file_path
:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_.google.ru TRUE / FALSE 1490269969 NID 87=m8iayuoh4X_H9kTM4zNlYrVmavd0qd7X6Bj1mbyZwrn23e-BQyA-GlNYBsV9iKq5cVj1ZrB9770cWf036kdakSC3tvlDIu_KVpf8yN5ilKkUk8iHAMbi_QZqD7Inlxs3
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу понять , как сделать так , чтобы при удачной проверки формы ( required ) показывался alert с сообщением о том , что письмо удачно отправилось
Хочу для Всех пользователей, которые в группе "регистр", показать сообщение, а для тех, кто в других группах, не показыватьКак сделать такую...
Только начинаю изучение веба, а именно php, все что выдает гугл это "Создание сайта на php + mysql"Вопрос следующий - это единственный способ использования...