如何使用python请求获取与浏览器相同的cookie

时间:2014-08-17 14:13:50

标签: facebook python-requests

我正在尝试编写一个可以使用Python和请求登录Facebook身份验证的应用程序。我尝试过使用下面的代码,但它没有登录到facebook。

import requests
payload = {'email:'xxx','pass':'xxx'}
session = requests.session()
r = session.get("https://www.facebook.com/dialog/oauth?client_id=465552070224966&redirect_uri=https%3A%2F%2F7s.safaricom.co.ke%2Fsu7s%2Fproc%2Ffb-login.php&state=0bdacc37055ee54d093e3b598342087b&sdk=php-sdk-3.2.3&display=popup&scope=read_stream%2Cfriends_likes%2Cpublish_actions%2Cuser_friends",params=payload)

即使使用正确的用户名和密码也无法登录,如果您使用浏览器访问该链接,则相同的输入有效。

2 个答案:

答案 0 :(得分:0)

如果您希望请求为您跟踪Cookie,则需要先设置会话。

应该是

import requests
session = requests.session()
r = session.get('https://blahblahblah.com/etc')

然后请求会自动为您处理cookie。

答案 1 :(得分:0)

我使用此代码成功登录后,您可以尝试使用requests.Sessionurllib cookiejar,但我认为不可能

from django.conf import settings
settings.configure()
from oauth_tokens.providers.facebook import FacebookAuthRequest

req = FacebookAuthRequest(username='username', password='password')
response = req.authorized_request(url='https://facebook.com')
print response.content.count("https://facebook.com")
for x in range(5):
    print
print response.encoding