Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Парсер Wordstat, как обойти каптчу
Форумы портала PHP.SU » » Работа с сетью » Парсер Wordstat, как обойти каптчу

Страниц (1): [1]
 

1. splish - 02 Мая, 2012 - 17:11:24 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $ch = curl_init();
  4. curl_setopt ($ch, CURLOPT_URL, "http://wordstat.yandex.ru/");
  5. curl_setopt($ch, CURLOPT_HEADER,1);
  6. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 30);
  8. curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
  9. curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false);
  10. curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  11. curl_setopt ($ch, CURLOPT_VERBOSE,1);
  12. curl_setopt ($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");  
  13. curl_setopt ($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
  14. curl_setopt ($ch, CURLOPT_COOKIE, '4fa04a9601162a84.Zs5VuNJCojgHFmNlXWtYBsDHBGyTY-XRD4CUK0yFHugnvuLiEuFcfLU9hbFCxBJbHItrbkTcmX5rjQh1r054Pt1w2ZMCJVqSp7u9xVKXImmrJ-BzTzesFW3gmWNuiDDV');
  15.  
  16. $text = curl_exec($ch);
  17.  
  18. echo $text;
  19.  
  20. ?>


Подскажите пожалуйста что в коде неправильно.
При обращении к самому сервису он требует ввести каптчу 1 раз для определения региона, в дальнейшем каптча не нужна.
Но скрипт каптчу не обходит и данные получить невозможно.
2. caballero - 02 Мая, 2012 - 17:37:29 - перейти к сообщению
на то она и капча чтобы только людей пропускать а не скрипты
3. splish - 02 Мая, 2012 - 17:46:47 - перейти к сообщению
Капча нужна для подтверждения региона в котором я нахожусь, как только я ввёл капчу - я получаю куку с которой капча больше не показывается.
4. Мелкий - 02 Мая, 2012 - 20:27:31 - перейти к сообщению
0) почему у параметра CURLOPT_COOKIE только 1 строка, без имени и значения? Вроде же должно указываться в формате "fruit=apple"
1) попробуйте отправить куку uid, прочие сервисы яндекса к ней привязываются.
5. splish - 02 Мая, 2012 - 20:58:30 - перейти к сообщению
Мелкий, Большое спасибо, действительно, в CURLOPT_COOKIE нужно было прописать ключ и его значение.

PHP:
скопировать код в буфер обмена
  1. curl_setopt ($ch, CURLOPT_COOKIE, "fuid01=4fa04a9601162a84.Zs5VuNJCojgHFmNlXWtYBsDHBGyTY-XRD4CUK0yFHugnvuLiEuFcfLU9hbFCxBJbHItrbkTcmX5rjQh1r054Pt1w2ZMCJVqSp7u9xVKXImmrJ-BzTzesFW3gmWNuiDDV;yandexuid=1059700411335970926");

 

Powered by ExBB FM 1.0 RC1