Форум → Программирование → PHP для идиотов → icq.com капча.
icq.com капча.
Страницы: ← Следующая страница →
-
Всем привет. Собственно цель - написать скрипт который будет регистрировать icq номера. Это не авторегер, не регер, а просто скрипт через который можно будет зарегестрировать номер не заходя на icq.com, в общем ничего того, что могло бы желать зла.
Собственно, на первый взгляд для меня это показалось не проблемой - делал все запросы при помощи curl, ну и ссылку на капчу вырывал регуляркой. Однако данный метод не прокатил. Запрос на получения капчи делается один, а вот в момент посылки запроса на регистрации капча то уже менялась, т.к. это уже получался новый сеанс.
В общем прошу вашего совета, каким образом мне избежать данной проблемы? Пробывал сначало получить куки и капчу, потом выполнить запрос на регистрацию уже непосредственно с полученными куками (надеялся что куки и капча привязаны и на каждую сессию даётся одна капча) - не прокатило. В общем как я предполагаю, необходимо всё передать в одном запросе, а точнее одним curl запросом сначало вырвать ссылку на капчу и потом в этом же запросе отправить всю информацию на регистрацию.
В общем дайте нужный совет. PHP кодингом занимался год, потом забросил наглухо на год, сейчас возвращаюсь к старым традициям. В общем в общих чертах что-то помню (намекаю на небольшой кусочек кода с вашей стороны).
Заранее признателен. -
Сен. 27, 2010, 11:03 п.п., спустя 10 минут 25 секунд
ну надо смотреть лог http запросов при реге на icq… посмотри какие данные передаются на сервер
я бы делал первым вариантом, так как при втором ("в этом же запросе") надо вводить капчу ;)Спустя 36 сек.смотреть можно ерез live http headers или например через wireshark (фильтр на http)https://smappi.org/ - платформа по созданию API на все случаи жизни -
Сен. 27, 2010, 11:04 п.п., спустя 1 минуту 20 секунд
adw0rd, ну так в этом и вся проблема, что капча всё-равно меняется. Смотерл я какие запросы идут (livehttpheaders помог мне). Мне кажется, что второй вариант единственный. -
Сен. 27, 2010, 11:11 п.п., спустя 7 минут 29 секунд
ну ты скажи как ты будешь при втором варианте посылать ответ капчи?Спустя 34 сек.картинка же покажется при первом запросе, а вторым ты пошлешь ответhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
Сен. 27, 2010, 11:12 п.п., спустя 10 секунд
Пробывал сначало получить куки и капчу, потом выполнить запрос на регистрацию уже непосредственно с полученными куками (надеялся что куки и капча привязаны и на каждую сессию даётся одна капча) - не прокатило
плохо пробовал. сравнивай куки досимвольно -
Сен. 27, 2010, 11:15 п.п., спустя 3 минуты 29 секунд
Faster, ну я вот к примеру даже сейчас через livehttpheaders повторяю запрос, а капча уже другая. -
Сен. 27, 2010, 11:17 п.п., спустя 2 минуты 4 секунды
честно в лом смотреть.
а почему капча должна быть та же? -
Сен. 27, 2010, 11:21 п.п., спустя 3 минуты 18 секунд
Faster, запуская скрипт он получает одну капчу по одной сессии, а при регистрации уже другой запрос посылается, другая сессия а у другой сессии своя капча. Вот я и хочу сделать всё в одной сессии, тоесть получаем капчу и в этом же curl-запросе сразу отправляем запрос на регистрацию. -
Сен. 28, 2010, 12:07 д.п., спустя 46 минут 30 секунд
Не надо нам тут врать, что все правильно отправляешь и не работает. Смотри лучше все, что отправляет браузер и пробуй. Браузер ведь как-то делает. -
Сен. 28, 2010, 12:12 д.п., спустя 5 минут 20 секунд
Глянул. Там вообще все просто:
1. Запрашивешь страницу https://www.icq.com/register/
2. Сохраняешь полученные куки, выковыривешь адрес капчи.
3. Отпрвляешь капчу на антигейт/капчабот или куда еще там. В общем разгадываешь капчу.
4. Отправляешь данные на сервер с заренее сохраненными куками.
PROFIT! -
-
Сен. 28, 2010, 7:23 п.п., спустя 4 часа 6 минут 54 секунды
Кода как-таково нет, есть вопрос. Накидал тут в принципе немного:
<?php
$url = "https://www.icq.com/register/";
$get_cookie = curl_init();
curl_setopt ($get_cookie, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($get_cookie, CURLOPT_URL, $url);
curl_setopt($get_cookie, CURLOPT_FAILONERROR, 1);
curl_setopt($get_cookie, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($get_cookie, CURLOPT_RETURNTRANSFER,1);
$get_cookie_result = curl_exec($get_cookie);
curl_close($get_cookie);
?>
собственно знаю, что куки можно хранить в файлике, это всё успешно работает и как брать их из файлика тоже знаю, НО возможно ли вместо файлика хранить их в переменной? Пробывал хранить в масиве - не получается. Ну и попутно вопрос про регулярки, в них я вобще не шарю. В стурктуре страницы есть фрагмент:
<img src="/img/aa_img.php?gnm=93…..>
в общем помогите составить выражение которое будет вырывать всё, что после aa_img.php?gnm=. Заранее признателен. -
-
Сен. 28, 2010, 7:42 п.п., спустя 4 минуты 36 секунд
phpdude, за 50 баксов можно такой скрипт написать, только он будет через антикапчу работать) -
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!