Q. 是否可以通过 GET 请求发送 json 数据?
我想传递一些过滤参数来从数据库读取结果
params = {'is_coming_soon': False, 'is_paid': True, 'limit': 100, 'skip': 0}
headers = {'content-type': 'application/json'}
response = requests.get(url=url, headers=headers, params=params)
在服务器端,我收到的所有值均为string,
我怎样才能请求获取正确的布尔值而不是字符串一。
要发送 json 负载,请使用data
or json
论证而不是params
。首先使用将 dict 转换为 jsonjson.dumps
,如果您愿意,请仔细检查转换:
import json
payload = json.dumps(params)
print(payload) # '{"is_coming_soon": false, "is_paid": true, "limit": 100, "skip": 0}'
response = requests.get(url=url, headers=headers, data=payload)
另外,还可以调试requests
像这样调用:
import requests
import logging
from http.client import HTTPConnection
# from httplib import HTTPConnection # Python 2
HTTPConnection.debuglevel = 1
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
response = requests.get(url=url, headers=headers, data=payload)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)