use*_*332 2 python python-3.x python-requests
当发出在 Postman 中工作正常的 POST 请求时,我继续从 python 请求中收到非常通用、无用的错误消息。
无论我尝试什么,我都会继续收到两条错误消息之一。请注意,调用的 python 脚本没有第155 行,有效负载也不包含字母“u”:
{"error":{"detail":"SyntaxError: Unexpected token: u (sys_script_include.d2426c9ec0a8016501958bf2ac79c775.script; line 155)","message":"Unexpected token: u"},"status":"failure"}
{"error":{"message":"Unexpected token: u","detail":"SyntaxError: Unexpected token: u (sys_script_include.d2426c9ec0a8016501958bf2ac79c775.script; line 155)"},"status":"failure"}
Run Code Online (Sandbox Code Playgroud)
在Postman中,参数会被正确解释,然后附加到 url 中,例如:
https://areallylongurl?params={"catalogItem": "Req Name"}
Run Code Online (Sandbox Code Playgroud)
在Python请求中,我尝试了各种组合,但没有运气。
payload = {"params": '{"catalogItem": "Req Name"}'}
response = requests.post(url, headers=headers, json=payload, verify=False)
response = requests.post(url, headers=headers, json=json.dumps(payload), verify=False)
response = requests.post(url, headers=headers, data=payload, verify=False)
response = requests.post(url, headers=headers, data=json.dumps(payload), verify=False)
Run Code Online (Sandbox Code Playgroud)
通过使用这个非常有用的 SO 答案,我能够进一步分析请求库如何解释我提供的有效负载,但我仍然不确定如何解释这个通用错误消息,或者原因可能是什么。
有谁知道根本问题可能是什么?请注意,我可以从此 API 获取数据,而不会出现请求问题,只有 POST 存在问题。
由于在 postman 中,参数像 一样“附加到 url” https://areallylongurl?params={"catalogItem": "Req Name"},这意味着该请求可能是一个 GET 请求,其中 JSON 作为值传递给参数params,而不是 POST 请求的有效负载,在这种情况下,您应该这样做反而:
response = requests.get(url, headers=headers, params={"params": json.dumps(payload)}, verify=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |