Форум сайта python.su
0
Всем привет, помогите - как скачать вот эту картинку ??
http://www.lineage2dex.com/captcha.php?
Офлайн
25
#!/usr/bin/env python #-*- coding: utf8 -*- import re import requests from Crypto.Cipher import AES URL = 'http://www.lineage2dex.com/captcha.php' TO_NUMBERS_RE = re.compile('toNumbers\("([0-9, a-f]+)"\)') def to_numbers(hex_string): return hex_string.decode('hex') def main(): r = requests.get(URL) key, iv, ciphered = map(to_numbers, TO_NUMBERS_RE.findall(r.text)) aes = AES.new(key, mode=AES.MODE_CBC, IV=iv) magic = aes.decrypt(ciphered).encode('hex') r = requests.get(URL, cookies={'__HFUID': magic}) if r.headers['content-type'] != 'image/png': print '[-] Bad response!' return 1 with open('captha.png', 'wb') as fd: fd.write(r.content) return 0 main()
Офлайн
0
Скрипт получает только шумы, а сам текст нет….
Прикреплённый файлы:
captha.png (760 байт)
Офлайн
25
Ни в браузере, ни в вашем файле я текста не вижу.
Офлайн
0
s0rghttp://www.lineage2dex.com/
Ни в браузере, ни в вашем файле я текста не вижу.
Отредактировано Mouse (Июль 25, 2014 16:57:07)
Офлайн
0
Тебе уже на cyberforum.ru сказали, что ты капчу не с той страницы получаешь. Забудь про адрес http://www.lineage2dex.com/captcha.php, он совершенно тебе не нужен.
Тебе нужно загрузить требуемую страницу и вытащить из неё ту капчу которая для НЕЁ сгенерировалась!
Офлайн
25
Я понял в чем проблема - библиотека requests, представляет заголовки в виде словаря, а основной ресурс (http://www.lineage2dex.com) отдает два заголовка set-cookie, таким образом в словарь попадает только первая печенька (__HFCTL), а как раз вторая (PHPSESSID) нужна, чтобы отобразились буквы на капче.
Вы можете переписать код с использованием стандартной библиотеки (urllib2/httplib).
Логика получения капчи от этого не изменится.
Офлайн
0
Ок, будем пробовать)
Отредактировано Mouse (Июль 25, 2014 16:49:10)
Офлайн