我应该如何修复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() 


这将解决这个问题。

+0

这是正确的。 [发出HTTP(S)请求](https://cloud.google.com/appengine/docs/standard/python/issue-requests#issuing_an_http_request)的文档解释了包括**请求 - 工具栏**确保**请求**库使用** URL提取**而不是其默认的套接字。 – Nicholas

+0

This Works!我正在尝试使用gspread读取表单并面临ChunkedEncodingError问题。现在解决了!谢谢 :) –

我有这个问题,我用PyFCM。和一切工作。如果你愿意使用它,只要确保你安装了1.2.8或更高版本。以下任何版本将导致您遇到同样的问题