2017-01-26 19 views
2

我使用燒瓶,使鬆弛的機器人讓App Engine上此錯誤。每當我從Slackbot發送POST請求時都會發生。AppEnginePlatformWarning:urllib3使用的URLFetch在谷歌App Engine的沙盒,而不是插座

不幸的是,在錯誤所提供的是一個死鏈接。我如何去使用套接字而不是URLFetch?

/base/data/home/apps/[REDACTED]/lib/requests/packages/urllib3/contrib/appengine.py:115: AppEnginePlatformWarning:urllib3是在谷歌應用程序引擎 沙箱,而不是使用的URLFetch插座。直接使用套接字而不是 URLFetch請參閱https://urllib3.readthedocs.io/en/latest/contrib.html

+0

這裏是正確的網址:http://urllib3.readthedocs.io/en/latest/reference/urllib3.contrib.html – HondaGuy

回答

4

作爲上Google's Sockets documentation詳述,插座可以通過設置GAE_USE_SOCKETS_HTTPLIB環境變量來使用。此功能似乎僅適用於付費應用,並影響結算。

雖然您發佈的錯誤被記錄爲App Engine中的錯誤,但是this thread建議(請參閱第8條回覆)該錯誤實際上是作爲警告出現的,無論如何,文本「AppEnginePlatformWarning」似乎暗示了這一點。

source page的appengine.py註釋塊也很有啓發。

你沒有張貼關於您的實現的任何信息,但在谷歌App Engine的標準版,using URLFetch via the AppEngineManager should be just fine,雖然你會得到錯誤。

0

您可以使用以下方法來關閉此:

import warnings 
import urllib3.contrib.appengine 

warnings.filterwarnings('ignore', r'urllib3 is using URLFetch', urllib3.contrib.appengine.AppEnginePlatformWarning)