如何在python请求中将dict作为值发送到key'Authorization'?

2024-10-02 02:42:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我要测试API的结果。我正在发送

Key - 'Authorization'
value - { "merchantIp": "13.130.189.149", "merchantHash": "c8b71ea1ab250adfc67f90938750cd30" , "merchantName": "test"}

我在postman中得到了正确的输出,但是我的代码在请求中失败了

^{pr2}$

我得到的错误是:

requests.exceptions.InvalidHeader: Value for header {'Authorization': { "merchantIp": "13.130.189.149", "merchantHash": "c8b71ea1ab250adfc67f90938750cd30" , "merchantName": "test"}} must be of type str or bytes, not <class 'dict'>

Tags: key代码testapivalue错误postmanrequests
1条回答
网友
1楼 · 发布于 2024-10-02 02:42:42

头几乎肯定需要JSON数据。Python字典,即使只是简单地转换为字符串,也与JSON不一样。requests库不接受除字符串之外的任何头。POSTMan只处理字符串,而不处理Python对象,因此您不会在那里看到问题。在

显式转换:

import json

headers = {
    'Authorization': json.dumps({
        "merchantIp": "13.130.189.149",
        "merchantHash": "c8b71ea1ab250adfc67f90938750cd30",
        "merchantName": "test"
    })
}

相关问题 更多 >

    热门问题