【问题标题】:How do I enable cookies with python requests如何使用 python 请求启用 cookie
【发布时间】:2015-07-23 13:27:05
【问题描述】:

我正在尝试使用 python 请求登录 facebook。 当我运行以下代码时: 导入请求

def get_facebook_cookie():
    sign_in_url = "https://www.facebook.com/login.php?login_attempt=1"
    #need to post: email , pass
    payload = {"email":"xxxx@xxxx.com", "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 返回以下错误:

(电子邮件实际上是在邮箱中填充的——所以我知道它至少在传递它)

根据请求会话文档,它处理所有 cookie,所以我什至认为我不需要将它传递进去。但是,我已经看到其他地方这样做是为了用空 cookie 填充第二个请求所以我试了一下。

问题是,为什么 facebook 告诉我我没有启用 cookie?我需要传递一些额外的请求标头吗?对于这样的事情,urllib2 会是更好的选择吗?

【问题讨论】:

    标签: python facebook cookies python-requests urllib2


    【解决方案1】:

    根据这个答案看起来像Login to Facebook using python requests

    还有更多数据需要发送,才能成功登录 facebook。

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 2021-12-02
      • 2015-10-11
      • 2014-05-26
      • 2019-09-07
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多