Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

26.08.2009, 22:29
|
|
Участник форума
Регистрация: 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..
Заранее спасибо.
|
|
|

27.08.2009, 00:00
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме: 4778940
Репутация:
1257
|
|
проблема вытащить линк?
регулярные выражения в помощ.
|
|
|

27.08.2009, 01:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Необходимо сначала получить контент страницы, на которой отображается капча. Там в HTML-коде будет нечто вроде
Код:
<img src="/captcha/fbead8c8a3e5f23cb656b7c0c393fcf9" />
Вытащить этот идентификатор можно, как уже сказали выше, с помощью регулярных выражений (смотри хелп по функции preg_match, по PCRE).
|
|
|

27.08.2009, 10:13
|
|
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
Провел на форуме: 5365841
Репутация:
712
|
|
Сообщение от programming
И главная проблема получить что-то типа этого - fbead8c8a3e5f23cb656b7c0c393fcf9
PHP код:
preg_match('#/captcha/(.*?)"#i',$result,$captcha);
|
|
|

27.08.2009, 12:04
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме: 201522
Репутация:
18
|
|
Огромное спасибо! Получилось..
Вот только в регулярных выражениях я плохо ориентируюсь.. Можете объяснить почему, как я понял, (.*?)"#i обозначает fbead8c8a3e5f23cb656b7c0c393fcf9?
Спасибо.
|
|
|

27.08.2009, 13:32
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
http://www.devnotes.ru/regexp.png
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2
Выражение (.*?) найдет ВСЕ до конца строки. В данном случае #/captcha/(.*?)"#i найдет все до момента где встретит " (двойные ковычки).
|
|
|

27.08.2009, 13:46
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме: 201522
Репутация:
18
|
|
А.. Понял. Спасибо.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|