В догонку к теме об обходе бана гугла на запросы, напишу что можно сделать, если гугл стал присылать картинку. Всё очень просто – эту картинку надо ввести вручную! :) Но как всегда, в мелких деталях кроются сложности, у меня написать рабочий код вышло где-то с 3-ей попытки. Итак, гугл стал присылать нам картинку для проверки что его запрашивает человек, а не скрипт. Мой алгоритм решения этой проблемы такой:
1. Первым делом запрашиваем морду гугла без куки (присылается новая кука).
2. С полученной кукой посылаем запрос, типа free ringtone. В ответ гугл присылает новую куку и страницу с картинкой.
3. Складываем через точку с запятой куки из пунков 1 и 2. С полученной таким способом кукой скачиваем картинку на сервер, иначе при попытки посмотреть её по прямому урлу, она не покажется и сбросится.
4. Показываем картинку юзверю (админу). Получив ввод, сабмитим форму, полученную в пункте 3 с комбинированной кукой и правильно установленным реферрером. Сабмитить надо без авторедиректа, то есть выставив curl_setopt($ch, CURLOPT_MAXREDIRS, 0); иначе пропадёт нужная кука.
5. Если всё хорошо, гугл пришлёт коротенький ответ с новой кукой и локейшеном на запрос, который мы спрашивали в пункте 2.
6. Для пушей эмуляции браузера, идем на запрос из пункта 2 с кукой скомбинированной из ответов 1, 2 и 5. В дальшейшем используем эту куку, пока гугл снова не разозлится. :)
Вроде ничего сложного, но любая мелкая ошибка приводит к тому, что всё это не срабатывает, так что нужно всё делать крайне внимательно. Ввод капчи можно автоматизировать через какой-нибудь подходящий сервис.

Похожие посты