如何使用带有authenticity_token的Python Requests模块“登录”网站?

时间:2018-06-19 05:44:38

标签: python python-2.7 python-requests

我正在尝试使用python请求登录Xing(德语LinkedIn)。

为此,我观看了YouTube视频" Python请求 - 2.使用Python请求登录网站" (https://www.youtube.com/watch?v=eRSJSKG4mDA

视频中的人使用此代码登录其网站并获取内容:

import requests

with requests.Session() as c:
    url = 'http://www.noobmovies.com/accounts/login/?next=/'
    USERNAME = 'test_user'
    PASSWORD = 'test123'
    c.get(url)
    csrftoken = c.cookies['csrftoken']
    login_data = dict(username=USERNAME, password=PASSWORD, next="/")
    c.post(url, data=login_data, headers={"Referer": "http://www.noobmovies.com/"})
    page = c.get('http://www.noobmovies.com/user/profile/0/')
    print page.content

当应用他在视频中使用的相同方法时,我在检查网络上的xing登录页面时获得以下数据 - >登录 - >表格数据:

Xing Network Login Data

由于我试图改变它的数据所以它也适用于Xing。 可悲的是,我对python很新,并且完全搞砸了。 我真的无法看到我能做些什么才能让它发挥作用。 也许有人可以帮助我。

这是我的代码:

import requests

with requests.Session() as c:
    url = 'https://login.xing.com/'
    USERNAME = 'myusername'
    PASSWORD = 'mypassword'
    c.get(url)
    authenticity_token = c.cookies['authenticity_token']
    login_data = dict(authenticitymiddlewaretoken = authenticity_token, username=USERNAME, password=PASSWORD)
    c.post(url, data=login_data, headers={"Referer": "https://www.xing.com/"})
    page = c.get('https://www.xing.com/profile/myname')
    print page.content

非常感谢你的帮助!

0 个答案:

没有答案