How do i use Python requests lib to submit an https post request

孤街醉人 提交于 2021-01-29 08:10:44

问题


I'm trying to use the python 'requests' lib to submit an https post. however, i keep running into this error "CSRF verification failed. Request aborted"

I have reviewed all similar issues reported on the forum but unable to find a solution.

Below is my python code. Appreciate any help.

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)

回答1:


it missing request body csrfmiddlewaretoken, you can get it in cookies

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)


来源:https://stackoverflow.com/questions/53577555/how-do-i-use-python-requests-lib-to-submit-an-https-post-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!