HTTP POST 压缩 JSON python returns 200 代码但没有数据发布到网站

HTTP POST with compressed JSON python returns 200 code but no data posted to website

总结问题:未压缩JSON有效负载更新成功。但是,压缩后的 JSON 无法上传到网站。(使用 Python 请求模块)

2。 我正在尝试 POST 比较大的 JSON 数据(1 MB +)到网站 我希望将 JSON 数据(流)和 post 压缩到网站。 catch是-压缩了JSONreturns成功码,但是数据没有体现在网站上。 相反,相同的 JSON 数据在未压缩时通过。

3。 在适当的时候,显示一些代码:

工作正常:

未压缩的有效负载 - 顺利访问网站:

payload={"eventType": "check", "status": "Fail","testCategory": "Test"}
headers = {‘Content-Type’: ‘application/json’,‘X-Insert-Key’: ‘XXXXXXX’}
r = requests.post(url, data=json.dumps(payload), headers=headers)

不工作

未进入网站的压缩负载:

payload={"eventType": "check", "status": "Fail","testCategory": "Test"}
headers = {‘Content-Type’: ‘application/json’,‘X-Insert-Key’: ‘XXXXXXX’, ‘Content-Encoding’:‘gzip’}
request_body = zlib.compress(json.dumps(payload))
r = requests.post(url, data=request_body, headers=headers)

我正在苦思冥想,但似乎遗漏了一些微妙的东西。任何 help/tips 将不胜感激

将‘Content-Encoding’:‘gzip’}更改为‘Content-Encoding’:‘deflate’}为我解决了这个问题 注意:此答案特定于 New Relic 自定义事件