Уведомления

Группа в Telegram: @pythonsu

#1 Июль 24, 2014 17:12:37

Mouse
Зарегистрирован: 2014-03-09
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать картинку

Всем привет, помогите - как скачать вот эту картинку ??
http://www.lineage2dex.com/captcha.php?

Офлайн

#2 Июль 24, 2014 20:08:11

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Скачать картинку

#!/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()

Офлайн

#3 Июль 25, 2014 09:38:55

Mouse
Зарегистрирован: 2014-03-09
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать картинку

Скрипт получает только шумы, а сам текст нет….

Прикреплённый файлы:
attachment captha.png (760 байт)

Офлайн

#4 Июль 25, 2014 15:40:36

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Скачать картинку

Ни в браузере, ни в вашем файле я текста не вижу.

Офлайн

#5 Июль 25, 2014 15:49:04

Mouse
Зарегистрирован: 2014-03-09
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать картинку

s0rg
Ни в браузере, ни в вашем файле я текста не вижу.
http://www.lineage2dex.com/
Вот если сюда зайти текст будет, а потом перейти http://www.lineage2dex.com/captcha.php , то картинка будет, не знаю почему так… Декодирование уже написал, а получить не могу
Беда какая то….
Как вообще посмотреть что передается туда??

Отредактировано Mouse (Июль 25, 2014 16:57:07)

Офлайн

#6 Июль 25, 2014 16:36:49

d54wvzc+i5zirs
Зарегистрирован: 2014-05-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать картинку

Тебе уже на cyberforum.ru сказали, что ты капчу не с той страницы получаешь. Забудь про адрес http://www.lineage2dex.com/captcha.php, он совершенно тебе не нужен.
Тебе нужно загрузить требуемую страницу и вытащить из неё ту капчу которая для НЕЁ сгенерировалась!

Офлайн

#7 Июль 25, 2014 16:37:25

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Скачать картинку

Я понял в чем проблема - библиотека requests, представляет заголовки в виде словаря, а основной ресурс (http://www.lineage2dex.com) отдает два заголовка set-cookie, таким образом в словарь попадает только первая печенька (__HFCTL), а как раз вторая (PHPSESSID) нужна, чтобы отобразились буквы на капче.
Вы можете переписать код с использованием стандартной библиотеки (urllib2/httplib).
Логика получения капчи от этого не изменится.

Офлайн

#8 Июль 25, 2014 16:45:03

Mouse
Зарегистрирован: 2014-03-09
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать картинку

Ок, будем пробовать)

Отредактировано Mouse (Июль 25, 2014 16:49:10)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version