2015-07-23 2 views
0

Я пытаюсь войти в facebook с запросами python. Когда я запускаю следующий код: запросов на импортКак включить файлы cookie с запросами python

def get_facebook_cookie(): 
    sign_in_url = "https://www.facebook.com/login.php?login_attempt=1" 
    #need to post: email , pass 
    payload = {"email":"[email protected]", "pass":"xxxxx"} 
    headers = {"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36"} 
    s = requests.Session() 
    r1 = s.get(sign_in_url, headers = headers, timeout = 2) 
    r = s.post(sign_in_url, data = payload, headers = headers, timeout = 2, cookies = r1.cookies) 
    print r.url 
    text = r.text.encode("ascii", "ignore") 
    fbhtml = open("fb.html", "w") 
    fbhtml.write(text) 
    fbhtml.close() 
    return r.headers 


print get_facebook_cookie() 

(обратите внимание на URL-адрес должен перенаправлять facebook.com-- еще не делает этого)

facebook возвращает следующую ошибку: facebook error

(электронная почта фактически заполняются в почтовом ящике - так что я знаю, что это проходит его по крайней мере)

Согласно запросам сеанс доку что он обрабатывает все файлы cookie, поэтому я даже не думаю, что мне нужно его пропускать. Однако я видел, как другие делали это в другом месте, чтобы заполнить второй запрос пустым файлом cookie, поэтому я дал ему шанс.

Вопрос в том, почему facebook говорит мне, что у меня нет файлов cookie? Есть ли какой-то дополнительный заголовок запроса, который мне нужно передать? Будет ли urllib2 лучшим выбором для чего-то подобного?

ответ

0

это выглядит как в соответствии с этим ответом Login to Facebook using python requests

есть больше данных, которые должны быть отправлены в, для того, чтобы успешно подписать на Facebook.

Смежные вопросы