首页 > 解决方案 > 我如何使用 Python requests lib 提交 https post 请求

问题描述

我正在尝试使用 python 'requests' lib 提交 https 帖子。但是,我一直遇到此错误“CSRF 验证失败。请求中止”

我已经查看了论坛上报告的所有类似问题,但无法找到解决方案。

下面是我的python代码。感谢任何帮助。

import requests

payload = {
    'targetip': 'www.ndtv.com'
    }
header = {
    'User-Agent': 'python-requests/2.20.1', 
    'Accept-Encoding': 'gzip, deflate', 
    'Accept': '*/*', 
    'Connection': 'keep-alive',
    'Referer':'https://dnsdumpster.com/'
    }

url = r'https://dnsdumpster.com/'

with requests.session() as s:
    res = s.get(url)
    cookie = s.cookies
    res = requests.post(url, data=payload, headers = header, cookies = cookie)
    print(res.text)

标签: pythonpostpython-requests

解决方案


它缺少请求正文csrfmiddlewaretoken,您可以在 cookie 中获取它

with requests.session() as s:
    res = s.get(url)
    payload['csrfmiddlewaretoken'] = s.cookies['csrftoken']
    res = requests.post(url, data=payload, headers = header, cookies = s.cookies)
    print(res.text)

推荐阅读