Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2010 13:02:37

dezz
От:
Зарегистрирован: 2009-09-20
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача данных яндексу

Добрый день! Пишу небольшой постер в яндекс.блог, зарегистрировал тестовый блог, но что-то пост не постица. Ошибки не вылетают, так понимаю, не все данные передаются, но уже даже идеи не появляются, почему не работает, ибо довольно долго думаю над этой проблемой. Обычно так и бывает, элементарной ошибки не видишь..

Выкладываю весь код, логин & пароль рабочие, надеюсь на порядочность юзеров и ни кто акк не уведёт :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)

Офлайн

#2 Март 7, 2010 15:42:34

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Передача данных яндексу

Вы cookies проверяли? Авторизация проходит успешно? Session_id выдается?

Какую отладку вы проводили?



Офлайн

#3 Март 7, 2010 15:57:01

dezz
От:
Зарегистрирован: 2009-09-20
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача данных яндексу

Daevaorn
Вы cookies проверяли? Авторизация проходит успешно? Session_id выдается?
Да, всё в порядке)


Daevaorn
Какую отладку вы проводили?
Честно говоря, даже представления не имею, как это сделать в питоне.. Я совсем новичёк!
А нужна-ли она вообще в моём случае? ведь ошибки не вылетали.



Отредактировано (Март 7, 2010 15:57:57)

Офлайн

#4 Март 7, 2010 16:06:39

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача данных яндексу

ну если что-то не работает ясен перец нужна отладка :D

проводится так же как и везде, пишется сценарий теста ну или по-быстрому в интерпретаторе накидывается пара команд. Ну или с использованием pdb, но я с ним так и не разобрался)



Офлайн

#5 Март 7, 2010 17:42:48

dezz
От:
Зарегистрирован: 2009-09-20
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача данных яндексу

Попробовал передать одну и ту же информацию через браузер и скрипт и перехватить её снифером, результат:
Браузер:

[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



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version