在Python GET(Method)请求中发送Json(包含布尔/数字)数据

2023-11-29

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(使用前将#替换为@)

在Python GET(Method)请求中发送Json(包含布尔/数字)数据 的相关文章

随机推荐