python - 在 python GET(Method) 请求中发送 Json(包含 bool /数字)数据

标签 python json python-requests

问。是否可以使用 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

我如何请求获取正确的 bool 值而不是字符串 1。

最佳答案

要发送 json 负载,请使用 datajson 参数而不是 params。首先使用 json.dumps 将 dict 转换为 json,然后根据需要仔细检查转换:

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)

关于python - 在 python GET(Method) 请求中发送 Json(包含 bool /数字)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46303885/

相关文章:

python - 如何关闭对流媒体广播流 URL 的请求?

python - 安装 Python 3.6.3 - 我的 Win8Pro64 位计算机缺少 "api-ms-win-crt-runtime-l1-1-0.dll"

python - 删除lxml中的img标签

JavaScript:动态添加新值以更新 JSON/对象

javascript - 如何从多行选择下拉框中自动填充输入文本?

python - Flask 应用程序在测试时随机拒绝连接

Python httplib 从 getresponse() 检索 json 对象

python - Python中的递归循环函数

php - 如何通过表单在数据库中存储美元和欧元等特殊符号

python - 解析请求响应时应该使用 .text 还是 .content?