我应该如何修复ChunkedEncodingError?
问题描述:
我收到此错误
ChunkedEncodingError:( '断开的连接:IncompleteRead(14个字节读)',IncompleteRead(14个字节读))
我正在从 “请求” POST请求库(第三方)在Google App Engine中使用python。
我应该如何修复ChunkedEncodingError?
url = 'https://fcm.googleapis.com/fcm/send'
body = {
"data": {
"title": "data:mytitle",
"body": "data:mybody",
"url": "data:myurl"
},
"notification": {
"title": "noti:My web app name",
"body": "noti:message",
"content_available": "noti:true"
},
"message": "test",
"registration_ids": ["xxxxxxxxxxxxxxxxxxxx"]
}
headers = {"Content-Type": "application/json",
"Authorization": "key=xxxxxxxxxxxxxxxx"}
logging.error(json.dumps(body))
requests.post(url, data=json.dumps(body), headers=headers)
答
与谷歌应用程序引擎的问题是,一个人不能以“请求”孤独的工作,我们也需要使用“请求 - 工具区”与它一起。
步骤1:添加请求-工具区到APPDIR/lib中
https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27#installing_a_library
第2步:在内部的main.py添加
import requests_toolbelt.adapters.appengine
requests_toolbelt.adapters.appengine.monkeypatch()
这将解决这个问题。
这是正确的。 [发出HTTP(S)请求](https://cloud.google.com/appengine/docs/standard/python/issue-requests#issuing_an_http_request)的文档解释了包括**请求 - 工具栏**确保**请求**库使用** URL提取**而不是其默认的套接字。 – Nicholas
This Works!我正在尝试使用gspread读取表单并面临ChunkedEncodingError问题。现在解决了!谢谢 :) –