PyCharm运行正常但Postman无JSON数据返回的技术求助
问题分析与解决
核心问题
你用requests.get()的data参数传递JSON数据时,requests会自动把字典格式的file_data转换成URL查询参数(因为GET请求没有标准请求体),所以httpbin的/get接口会把这些参数放在返回的args字段里。而你在Postman里如果错误地把JSON放在GET请求的请求体中,服务器(比如httpbin)不会解析GET请求体,自然拿不到数据。
验证PyCharm端提交是否成功
运行你的代码后,查看打印的r.text,如果返回内容的args字段包含你input.json里的键值对,说明数据已经成功提交:
{ "args": { "key1": "value1", // 对应你input.json里的内容 "key2": "value2" }, ... }
Postman端正确操作方法
方法1:用URL查询参数提交(符合GET请求规范)
- 打开Postman,新建GET请求,地址填
https://httpbin.org/get - 切换到Params标签页,把
input.json里的键值对逐一添加到参数列表中 - 发送请求,查看返回的
args字段,就能看到提交的数据
方法2:改用POST请求传递JSON(更适合传结构化数据)
如果你的实际接口支持POST,建议修改代码和Postman操作:
- 修改Python代码:
import requests import json with open('input.json','r') as f: file_data = json.load(f) # 改用post方法,用json参数传递数据 r = requests.post("https://httpbin.org/post", json=file_data) print(r.text)
此时PyCharm打印的内容里json字段会显示你提交的完整JSON数据。
- Postman操作:
- 新建POST请求,地址填
https://httpbin.org/post - 切换到Body标签页,选择
raw,格式选JSON - 粘贴
input.json里的内容,发送请求,返回的json字段会显示你提交的数据
内容的提问来源于stack exchange,提问作者khang bui
相关产品推荐
相关产品推荐

