ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Вытаскивание капчи
  #1  
Старый 26.08.2009, 22:29
programming
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме:
201522

Репутация: 18
По умолчанию Вытаскивание капчи

Нужно вытащить капчу с сайта.. Реализовать нужно с помощью php..
Теперь о самой капче. На странице с формой если смотреть капчу, то она имеет примерно такой url: http://example.com/captcha/fbead8c8a3e5f23cb656b7c0c393fcf9
Вот вопрос и возникает - как достать такую капчу когда её url постоянно меняется?
И главная проблема получить что-то типа этого - fbead8c8a3e5f23cb656b7c0c393fcf9.. Когда я смотрю через браузер firefox с плагином httpfox, то могу посмотреть ответ сервера(если это так называется) - вот ответ страницы, на которой располагается капча:
(Request-Line) GET /register/?from=button HTTP/1.1
Host example.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset UTF-8,*
Keep-Alive 300
Connection keep-alive
Referer http://example.com
Cache-Control max-age=0

Из этого я ничего интересного не вижу..
Но если посмотреть ответ капчи, то вот:
(Request-Line) GET /captcha/fbead8c8a3e5f23cb656b7c0c393fcf9 HTTP/1.1
Host example.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
Accept image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language ru,en-us;q=0.7,en;q=0.3
Accept-Encoding gzip,deflate
Accept-Charset UTF-8,*
Keep-Alive 300
Connection keep-alive
Referer http://example.com/register/?from=button

Если первый ответ я ещё могу получить с помощью curl, то второй не понимаю как получить..
Помогите, пожалуйста, вытащить эти магические символы - fbead8c8a3e5f23cb656b7c0c393fcf9..
Заранее спасибо.
 
Ответить с цитированием

  #2  
Старый 27.08.2009, 00:00
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме:
4778940

Репутация: 1257


Отправить сообщение для mr.The с помощью ICQ
По умолчанию

проблема вытащить линк?
регулярные выражения в помощ.
 
Ответить с цитированием

  #3  
Старый 27.08.2009, 01:02
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

Необходимо сначала получить контент страницы, на которой отображается капча. Там в HTML-коде будет нечто вроде
Код:
<img src="/captcha/fbead8c8a3e5f23cb656b7c0c393fcf9" />
Вытащить этот идентификатор можно, как уже сказали выше, с помощью регулярных выражений (смотри хелп по функции preg_match, по PCRE).
 
Ответить с цитированием

  #4  
Старый 27.08.2009, 10:13
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
Провел на форуме:
5365841

Репутация: 712


Отправить сообщение для geforse с помощью ICQ
Post

Цитата:
Сообщение от programming  
И главная проблема получить что-то типа этого - fbead8c8a3e5f23cb656b7c0c393fcf9
PHP код:
preg_match('#/captcha/(.*?)"#i',$result,$captcha); 
 
Ответить с цитированием

  #5  
Старый 27.08.2009, 12:04
programming
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме:
201522

Репутация: 18
По умолчанию

Огромное спасибо! Получилось..
Вот только в регулярных выражениях я плохо ориентируюсь.. Можете объяснить почему, как я понял, (.*?)"#i обозначает fbead8c8a3e5f23cb656b7c0c393fcf9?
Спасибо.
 
Ответить с цитированием

  #6  
Старый 27.08.2009, 13:32
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

http://www.devnotes.ru/regexp.png
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

Выражение (.*?) найдет ВСЕ до конца строки. В данном случае #/captcha/(.*?)"#i найдет все до момента где встретит " (двойные ковычки).
 
Ответить с цитированием

  #7  
Старый 27.08.2009, 13:46
programming
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме:
201522

Репутация: 18
По умолчанию

А.. Понял. Спасибо.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регеры ICQ UIN'ов by saiNT sai_NT ICQ 477 13.06.2010 17:48
[ perl ] Спамилка vkontakte с обходом капчи Whirt Покупка, продажа, услуги в Соц. Сетях 14 17.11.2009 06:20
Прога для распознавания капчи xolod Черные методы раскрутки 3 11.03.2009 20:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ