使用python请求登录laravel应用

前端之家收集整理的这篇文章主要介绍了使用python请求登录laravel应用 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想使用python请求登录Laravel应用并在登录获取首页内容,我尝试过:

import requests
import re

URL = 'laravelapp.url'

session = requests.session()

front = session.get(URL)
csrf_token = re.findall(r'<input type="hidden" name="_token" value="(.*)"',front.text)[0]

print(csrf_token)
print(session.cookies['XSRF-TOKEN'])

payload = {
    'email': 'email@example.com','password': 'testtest','_token': csrf_token,}

r = requests.post(URL + '/login',data=payload)

print(r)

不幸的是,这仅返回419错误.因此,csrf令牌似乎有问题吗?但是我无法理解出了什么问题,cookie应该由.sessions()管理,我从登录表单中提取了csrf令牌并将其作为参数添加到发布数据中.那么,缺少了什么呢?

最佳答案
您应该将Cookie与您的请求一起发送,如下所示:

import requests
import re

URL = 'laravelapp.url'

session = requests.session()

front = session.get(URL)
csrf_token = re.findall(r'<input type="hidden" name="_token" value="(.*)"',front.text)[0]

cookies = session.cookies

payload = {
    'email': 'email@example.com',data=payload,cookies=cookies)

print(r.text)
原文链接:https://www.f2er.com/python/533099.html

猜你在找的Python相关文章