首页 > 解决方案 > 使用请求库将 CURL 请求转换为 Python

问题描述

有这样的 CURL 请求:

curl -X POST "https://page.com/login" 
-H "accept: application/json" -H "Content-Type: application/json" 
-d "{ \"username\": \"admin\", \"password\": \"pass\"}"

在 Python 中,我想它应该是这样的:

import requests

headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
}

data = {'username': 'admin', 'password': 'pass'}

response = requests.post('https://page.com/login', headers=headers, data=data)
response

在此之后,它给我 [502] 错误网关错误。我的 python 查询做错了什么以及应该如何修改它?

标签: pythoncurlposthttp-headerspython-requests

解决方案


尝试使用:

requests.post(..., json=data)

当您使用data=请求时,会将其以编码形式发送,以实际将 json 放入您必须使用的正文中json=


推荐阅读