Форум сайта python.su
0
Доброго времени суток!
Есть один код:
# -*- coding: cp1251 -*- import urllib, urllib2, cookielib, re class mail_http_client: def __init__(self, proxy=None, user_agent='Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3'): self.cookie_handler = urllib2.HTTPCookieProcessor(cookielib.CookieJar()) self.redirect_handler = urllib2.HTTPRedirectHandler() self.http_handler = urllib2.HTTPHandler() self.https_handler = urllib2.HTTPSHandler() self.opener = urllib2.build_opener(self.http_handler, self.https_handler, self.cookie_handler, self.redirect_handler) if proxy: self.proxy_handler = urllib2.ProxyHandler(proxy) self.opener.add_handler(self.proxy_handler) self.opener.addheaders = [('User-agent', user_agent)] urllib2.install_opener(self.opener) def request(self, url, params={}, timeout=5): if params: params = urllib.urlencode(params) html = urllib2.urlopen(url, params, timeout) else: html = urllib2.urlopen(url) return html.read() aut = mail_http_client() url = 'https://auth.mail.ru/cgi-bin/auth' url1 = 'http://my.mail.ru/cgi-bin/my/ajax' url2 = 'http://my.mail.ru' mna_pattern = re.compile('<input name="mna" type="hidden" value="(\d+)" />') mnb_pattern = re.compile('<input name="mnb" type="hidden" value="(-\d+)" />') params = {'Domain': 'bk.ru', 'Login': '#########', 'Password': '###########', 'level': '1',} res = aut.request(url, params) res1 = aut.request(url1) res2 = aut.request(url2) mna0 = mna_pattern.findall(res2) mnb0 = mnb_pattern.findall(res2) a = mna0[0] b = mnb0[0] mna = '"' + mna0[0] + '"' mnb = '"' + mnb0 [0]+ '"' data = '["##########@mail.ru","testttttt","","",'+'"'+mna0[0]+'"'+'"'+mnb0[0]+'"]' message_params = { 'ajax_call': '1', 'data': data, 'encoding': 'windows-1251', 'func_name': 'dialogues.add_post', 'mna': a, 'mnb': b,} res1 = aut.request(url1, message_params)
["AjaxResponse","OK","not_found"]
Отредактировано srthgfi (Июль 6, 2012 20:01:05)
Офлайн
14
А чем smtp не устраивает?
Офлайн
0
Да в принципе устраивает, только это у меня получается, а вот разобраться с тем, как отправлять запросы ajax'у или простому жабаскрипту я не понял, и инфы в нете не нашёл. Может подскажете? Или на мысль наведёте? Без таких знаний полноценного робота сделать не получится.
Или вот ещё трудности:
<img id="captchaimage" border="0" alt="Captcha image" valign="middle" src="https://domen.ru/captcha.php?' + Math.random()" onclick="javascript:$('#captchaimage').attr('src', 'https://domen.ru/captcha.php?' + Math.random())">
Офлайн
0
А что возвращает captcha.php?
Офлайн
0
Поле, по клику на которое появляется капча
<input type="text" accesskey="c" size="28" name="captcha" onclick="javascript:captcha_show();return false;">
aarkhipov
А что возвращает captcha.php?
<img id="captchaimage" border="0" alt="Captcha image" valign="middle" src="https://domen.ru/captcha.php?0.8667418113874655" onclick="javascript:$('#captchaimage').attr('src', 'https://domen.ru/captcha.php?' + Math.random())">
Отредактировано srthgfi (Июль 8, 2012 16:27:10)
Офлайн