![]() |
Вытаскивание капчи
Нужно вытащить капчу с сайта.. Реализовать нужно с помощью 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.. Заранее спасибо. |
проблема вытащить линк?
регулярные выражения в помощ. |
Необходимо сначала получить контент страницы, на которой отображается капча. Там в HTML-коде будет нечто вроде
Код:
<img src="/captcha/fbead8c8a3e5f23cb656b7c0c393fcf9" /> |
Цитата:
PHP код:
|
Огромное спасибо! Получилось..
Вот только в регулярных выражениях я плохо ориентируюсь.. Можете объяснить почему, как я понял, (.*?)"#i обозначает fbead8c8a3e5f23cb656b7c0c393fcf9? Спасибо. |
http://www.devnotes.ru/regexp.png
http://phpclub.ru/detail/article/regexp_1 http://phpclub.ru/detail/article/regexp_2 Выражение (.*?) найдет ВСЕ до конца строки. В данном случае #/captcha/(.*?)"#i найдет все до момента где встретит " (двойные ковычки). |
А.. Понял. Спасибо.
|
| Время: 22:36 |