Форум сайта python.su
Привет всем!Пишу скрипт для отправки смс с сайта tele2.ru,возникла проблема с обработкой капчи.То есть сначала я открываю капчу,ввожу код с капчи,заполняю html форму на сайте спомошью функции urllib.urlencode().Но смс не отправляется пишет Некорректно введен текст на изображении.Что я делаю не так? За раннее благодарен.
Вот код:
import Image, ImageTk, Tkinter
import urllib, urllib2, cookielib
# -*- coding: utf-8 -*-
urllib.urlretrieve('http://www.sms.tele2.ru/get_rni.php?public_key=b0e6afa4f84eae7757d0f569c00b3f75', 'code.png')
FILENAME = 'code.png'
tk = Tkinter.Tk()
c = Tkinter.Canvas(tk, width=128, height=128)
src_img = Image.open(FILENAME)
img = ImageTk.PhotoImage(src_img)
c.create_image(0, 0, image=img, anchor="nw")
c.pack()
phonecod = "XXX"
number = 'XXXXXXXX'
textsms = 'Privet'
captcha = raw_input('code:')
cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
req = urllib2.Request('http://www.sms.tele2.ru/')
params = urllib.urlencode({'phone_code':phonecod,'number':number,'smstext':textsms,'sms_text':textsms,'private_key':captcha,'do':'send'})
g = opener.open(req,params)
ga = g.read()
print ga
tk.mainloop()
Отредактировано (Апрель 14, 2010 23:25:28)
Офлайн
возможно ты сессию закрываешь прежде чем отправится форма , так же почитай в сторону сохранения куксов
Офлайн
Капча при каждом запросе разная, как ты определяешь текст на ней? o_O
Офлайн
контрольная сумма картинки и модернизированный файнридер (в теории)
Офлайн
Ну дак вот как сделать чтоб не обновлялась при повторном запросе.
Офлайн
Ты знаеш, попытался разобратся и ничего не понял.
Я знаю это немного некрасиво чтоль спрашивать тебяже в твоём же вопросе, но как это работает?
Я не могу использовать код, до конца не поняв как он работает.
Офлайн
Alex_Kutsan,в смысле не можешь использовать код.
Офлайн
Я имею в виду что я всётаки не просто использовать код хочу мне важно понять как он работает, чтоб может его модеранизировать или немного изменить под свои нужды. Когда я его пытаюсь прочесть, то теряю нить гдето в середине. Поэтому и задаю вопрос как он работает?
Офлайн
кажется немного стал понимать но всеравно…. почему у меня не импортируется модуль ImageTk? его надо скачивать дополнительно?
Офлайн
Нужно установить Python Image Library(PIL) это библиотека для работы с растровой графикой.В ней и находиться модуль ImageTK
Офлайн