Форум сайта python.su
Добрый день! Пишу небольшой постер в яндекс.блог, зарегистрировал тестовый блог, но что-то пост не постица. Ошибки не вылетают, так понимаю, не все данные передаются, но уже даже идеи не появляются, почему не работает, ибо довольно долго думаю над этой проблемой. Обычно так и бывает, элементарной ошибки не видишь..
Выкладываю весь код, логин & пароль рабочие, надеюсь на порядочность юзеров и ни кто акк не уведёт :D
#-*-encoding:UTF-8-*-
import re, urllib2, urllib, cookielib
myya_authorization_url = 'https://passport.yandex.ru/passport?mode=auth'
myya_authorization_login = 'pythonerblog'
myya_authorization_pass = '111111'
myya_posting_url = 'http://pythonerblog.ya.ru/post_do_save.xml'
title = 'тайтл как бэ'
text = 'текст псто!'
def authorization():
global page
idkey = urllib2.urlopen(myya_authorization_url).read()
idkey = re.findall('\<input type\=\"hidden\" name\=\"idkey\" value\=\"(.*)\" \/\> \<input type\=\"hidden\" name\=\"timestamp\" value\=\"\" \/\>', idkey)
data = urllib.urlencode({
'login': myya_authorization_login,
'passwd': myya_authorization_pass,
'timestamp': '',
'twoweeks': 'yes',
'In': 'Войти',
})
headers = {"User-Agent" : "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1",
"Accept" : "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",
"Accept-Language" : "ru,uk-UA;q=0.9,uk;q=0.8,en;q=0.7",
"Accept-Charset" : "iso-8859-1, utf-8, utf-16, *;q=0.1",
"Accept-Encoding" : "identity, *;q=0",
"Connection" : "Keep-Alive",}
cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))
urllib2.install_opener(opener)
req = urllib2.Request(myya_authorization_url, data, headers)
page = urllib2.urlopen(req).read()
return cookies
def posting(cookies):
global page2
data = urllib.urlencode({
'access_type': 'public',
'replies': '1',
'title': title,
'body': text,
'tags': '',
'tag': '',
'submit_btn': 'Отправить',
})
headers = {"User-Agent" : "Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1",
"Accept" : "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",
"Accept-Language" : "ru,uk-UA;q=0.9,uk;q=0.8,en;q=0.7",
"Accept-Charset" : "iso-8859-1, utf-8, utf-16, *;q=0.1",
"Accept-Encoding" : "identity, *;q=0",
"Connection" : "Keep-Alive",
"Referer" : "http://pythonerblog.ya.ru/posts_add_text.xml"}
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))
urllib2.install_opener(opener)
req = urllib2.Request(myya_posting_url, data, headers)
page2 = urllib2.urlopen(req).read()
cook = authorization()
posting(cook)
Отредактировано (Март 7, 2010 15:03:34)
Офлайн
Вы cookies проверяли? Авторизация проходит успешно? Session_id выдается?
Какую отладку вы проводили?
Офлайн
DaevaornДа, всё в порядке)
Вы cookies проверяли? Авторизация проходит успешно? Session_id выдается?
DaevaornЧестно говоря, даже представления не имею, как это сделать в питоне.. Я совсем новичёк!
Какую отладку вы проводили?
Отредактировано (Март 7, 2010 15:57:57)
Офлайн
ну если что-то не работает ясен перец нужна отладка :D
проводится так же как и везде, пишется сценарий теста ну или по-быстрому в интерпретаторе накидывается пара команд. Ну или с использованием pdb, но я с ним так и не разобрался)
Офлайн
Попробовал передать одну и ту же информацию через браузер и скрипт и перехватить её снифером, результат:
Браузер:
[truncated] access_type=public&replies=1&title=wweerr&body=%3Cp%3Eqqwweerr%3C%2Fp%3E&=&=%20%2B%20&=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&=%D0%9E%D1%82%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C&tags=&tag=&submit_btn=%D0%9E%D1%82%
body=qqwweerr&submit_btn=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&tags=&title=wweerr&access_type=public&tag=&replies=1
Офлайн