python - 如何在 python 中使用 POST?
问题描述
我想使用 python 发送这个 curl 数据
curl -X POST "http://192.168.12.80:8080/1.0/kb/accounts/a6c08c2c-f3eb-456a-a681-6e5262262e94/payments?paymentMethodId=810d4eae-4668-4c6a-897c-178c041eb67f" -H "accept: application/json" -H "X-Killbill-CreatedBy: demo" -H "authorization: Basic YWRtaW46cGFzc3dvcmQ=" -H "X-Killbill-ApiKey: abcd" -H "X-Killbill-ApiSecret: dcba" -H "Content-Type: application/json" -d "{\"transactionType\":\"AUTHORIZE\",\"amount\":\"$user\",\"currency\":\"INR\",\"transactionExternalKey\":\"$id\"}"
解决方案
步骤1:安装后安装请求包,当您从命令行执行 pip list 时,您应该会看到类似这样的内容
$ pip list
Package Version
------------ -------------------
certifi 2019.9.11
chardet 3.0.4
Click 7.0
idna 2.8
itsdangerous 1.1.0
MarkupSafe 1.1.1
pip 19.3.1
**requests 2.22.0**
setuptools 41.6.0.post20191030
urllib3 1.25.7
Werkzeug 0.16.0
wheel 0.33.6
wincertstore 0.2
第 2 步:运行以下代码检查 post 请求是否正常,
请在下面找到 python POST 请求的示例,
import requests
url = 'https://www.w3schools.com/python/demopage.php'
myobj = {'somekey': 'somevalue'}
x = requests.post(url, data = myobj)
print(x.text)
Step3:您的代码使用如下所示的请求,
import requests
url = 'http://192.168.12.80:8080/1.0/kb/accounts/a6c08c2c-f3eb-456a-a681-6e5262262e94/payments?paymentMethodId=810d4eae-4668-4c6a-897c-178c041eb67f"'
myobj = {'transactionType': 'AUTHORIZE','amount':'$user','currency':'INR','transactionExternalKey':'$id'}
headers = {'accept': 'application/json','X-Killbill-CreatedBy': 'demo','authorization':'Basic YWRtaW46cGFzc3dvcmQ=','X-Killbill-ApiKey': 'abcd','X-Killbill-ApiSecret': 'dcba', 'Content-Type': 'application/json'}
x = requests.post(url, data = myobj, headers=headers)
print(x.text)
推荐阅读
- dax - 两个日期之间出现 DAX
- c# - 从索引数组动态填充 mvvm 模型
- scala - 如何在火花上对数据帧上的数据进行非规范化
- r - Group/Mutate 仅返回 NA 而不是平均值
- c# - 如何使用 FastMember 创建具有子对象的对象的读取器
- bash - 用于修改和压缩文件的 Bash 脚本
- sublimetext3 - Sublime Text - 如何为每个项目启用 linter
- keycloak - Keycloak .well-known/openid-configuration 没有响应端点的“https”协议
- swift - GoogleSignIn 不适用于 YouTube API (Swift)
- linux - Amazon Linux 2 AMI 无法使用 upstart 启动程序