python - 这个来自 python 请求的堆栈跟踪表明了什么?
问题描述
我正在尝试对elasticsearch进行请求调用,我可以从纯脚本进行完全相同的调用,但是如果我将列表设置为字符串并传递给有效负载,我会得到这个堆栈跟踪:
我正在尝试将列表作为字符串传递给 curl 帖子,而 python 似乎正在中断。请帮忙。
Traceback (most recent call last):
File "moodgb.py", line 79, in <module>
print(response.text)
File "/usr/lib/python2.7/site-packages/requests/models.py", line 760, in text
if not self.content:
File "/usr/lib/python2.7/site-packages/requests/models.py", line 733, in content
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
File "/usr/lib/python2.7/site-packages/requests/models.py", line 656, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 273, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 186, in read
self._decoder = _get_decoder(content_encoding)
File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 57, in _get_decoder
return GzipDecoder()
File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 44, in __init__
self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS)
ValueError: Invalid initialization option
Here is the code:
#########
c=str(sorted(set(mysql_alertids)))
#test = str(mysql_alertids)
url = "http://elastic:9900/index%2A/_search"
payload = "{\"size\":10000,\r\n\t\"query\": \r\n\t{\r\n\t\t\"terms\" :\r\n\t\t{\r\n\t\t\t\"alert_id\" : "+c+" \r\n\t\t}\r\n\t}\r\n}"
print(payload)
headers = {
'content-type': "application/json",
'authorization': "val",
'cache-control': "no-cache",
'postman-token': "token"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
#########
我应该得到一个 jsons 列表(字典)
解决方案
有趣.. 添加 import zlib 解决了这个问题!
推荐阅读
- powershell - 如何在powershell中获取没有实例名称的总CPU使用百分比
- docker - Docker 为 webpacker_dev_server 加载了错误的端口
- azure - 如何在 Cosmos DB 中选择数值字段?
- flutter - 将对象传递给flutter中的小部件还是传递对象的单个属性更好?
- php - Laravel 资源 API 自定义外部数据包装器 $wrap
- bash - bash:我如何 cd 进入写在 .txt 文件第一行的目录
- python - 如何在 python 中读取“应用程序和服务日志”下的事件日志?
- javascript - 如何将 ReactJS 中的应用程序状态传递到后端?
- sql - 从 bigQuery 上的时间戳聚合变量
- angular - 无法启动下载的 Angular 项目