Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Всем доброго времени суток!
У меня небольшая проблема при работе с капчей... Распознаватель капчи я успешно написал, а вот проблема у меня в следующем.
1) Вначале я отправляю get-запрос на страницу www[dot]site[dot]com/captcha.php
2) Я достаю куки, в них лежат phpsessid и xz_code_captcha
3) Сохраняю картинку и распознаю
4) Отправляю post запрос с параметрами и куками из пункта два.
Но фишка в том, что когда я отправляю пост запрос, то там уже другая капча, то есть куки из пункта 2 никак не влияют на это.
curl_setopt($ch, CURLOPT_COOKIE,$cookie);//куки примерно вида PHPSESSID=6b5f43157eab876b067b0901c41ca5ed; xz_captcha_code=b7144948aa7d0f4780c5363cb6b193c1
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// возвращать результат работы
//curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); // не проверять SSL сертификат
//curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); // не проверять Host SSL сертификата
//curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:')); // это необходимо, чтобы cURL не высылал заголовок на ожидание
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
1) там пост запрос 100%, могу показать данные firebug`a, ссылка действительно похожа на get запрос, но через него отправляется пост запрос. как то так=)
2)
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Runet4ik пишет:
Ты одновременно пытаешься послать и гет и пост...
И что?
arabon, кажется, вы упускаете саму цель капчи. Ведь капча стоит на какой-то форме? Для нормальной эмуляции браузера, надо запросить страницу с этой формы, сохранить куки, запросить изображение капчи с этими куками, распознать его и послать запрос на action формы из страницы с формой, опять же с куками.
----- PostgreSQL DBA
Runet4ik
Отправлено: 08 Августа, 2012 - 22:10:29
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011 Откуда: Россия
Помог: 0 раз(а)
Мелкий пишет:
Runet4ik пишет:
Ты одновременно пытаешься послать и гет и пост...
И что?
arabon, кажется, вы упускаете саму цель капчи. Ведь капча стоит на какой-то форме? Для нормальной эмуляции браузера, надо запросить страницу с этой формы, сохранить куки, запросить изображение капчи с этими куками, распознать его и послать запрос на action формы из страницы с формой, опять же с куками.
Д ни что... Я это говорю к тому, что возможно чел-к намудрил что-то с адресами... Как видно из его поста, он шлёт гет по адресу captcha.php, оттуда же берёт и куки, хотя скорее по этому адресу нужно брать саму капчу, а куки со страницы формы, что скорее всего как раз таки является index.php ...
arabon
Отправлено: 08 Августа, 2012 - 22:11:16
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Мелкий пишет:
arabon, кажется, вы упускаете саму цель капчи. Ведь капча стоит на какой-то форме? Для нормальной эмуляции браузера, надо запросить страницу с этой формы, сохранить куки, запросить изображение капчи с этими куками, распознать его и послать запрос на action формы из страницы с формой, опять же с куками.
Только что попробовал сделать через liveHTTPreplay и ничего не получилось. Либо он глюченный и не работает, либо еще что то Потому что при ручной отправке одних и тех же кукисов приходит всегда разные картинки. (или я что то не так понимаю =) )
При переходе на первоначальную страницу, как я понял, сразу же отправляется get запрос на site.com/captcha.php с кукисами первоначальной страницы, дальше передается капча на первоначальную страницу. (Добавление)
Попробую сделать:
1. get запрос на index.php?... чтобы получить куки
2. отправить get запрос на captcha.php с полученными куками
3. получить и распознать картинку
4. отправить post запрос с куками из п.1
Runet4ik
Отправлено: 08 Августа, 2012 - 22:23:32
Гость
Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011 Откуда: Россия
Помог: 0 раз(а)
Для начала берёшь страницу с формой и капчей, сохраняешь куки, потом с этими куками идёшь по адресу где непосредственно находится сама только капча, берёшь её, разгадываешь, после чего уже шлёшь пост на файл обработчик с теми же куками...
Мелкий
Отправлено: 09 Августа, 2012 - 09:33:02
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
arabon пишет:
Потому что при ручной отправке одних и тех же кукисов приходит всегда разные картинки. (или я что то не так понимаю =) )
Покопайте код пары капч - и поймёте
Наиболее рациональный способ выдать капчу, предусмотреть функцию "показать другую" и при этом не копипастить код - сделать генерацию значения капчи при вызове самой капчи. Новое сгенерированное значение отрисовывается и сохраняется в сессию. А уже обработчик формы проверяет, совпадают ли 2 значения. Потому закономерно на каждое обращение к капче выводится новая картинка.
----- PostgreSQL DBA
arabon
Отправлено: 09 Августа, 2012 - 20:42:34
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2012
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Здравствуйте!
У меня вопросик. Имею капчу нарыл, как говорится подпилил для себя. Всё супер мне нравится работает. Но одна проблемка тут размер шрифта внутренний определён функцией и можно не больше 5. Но это маловато. Не подскажите как мне и что изменить , чтобы я мог менять размер шрифта.
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Спасибо. Я сам много и долго рыл. И вроде пробовал и эту функцию. То есть добавлял какой то шрифт и добавлял его в строку что ещё надо выводить. Но тогда её просто нет. Может я не туда добавлял не уточните что именно изменить.
Вот так.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.