2017-01-26 1 views
2

Я получаю эту ошибку на движке приложения, используя флягу, чтобы сделать Slack bot. Это происходит всякий раз, когда я отправляю запрос POST от Slackbot.AppEnginePlatformWarning: urllib3 использует URLFetch в песочнице Google App Engine вместо сокетов

К сожалению, код, указанный в ошибке, является мертвой ссылкой. Как я могу использовать сокеты вместо URLFetch?

/base/data/home/apps/[REDACTED]/lib/requests/packages/urllib3/contrib/appengine.py:115: AppEnginePlatformWarning: urllib3 использует UrlFetch на Google App Engine песочнице вместо Розетки. Для использования сокетов непосредственно вместо URLFetch см. https://urllib3.readthedocs.io/en/latest/contrib.html.

+0

Вот правильный URL: 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 также поучителен.

Вы не размещали ни одной информации о своей реализации, но в версии приложения Google App Engine Standard 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) 
Смежные вопросы