Опциите за прокси на Tornado бараат правилен HTTP backend
Проверете ја активната имплементација на HTTP клиентот на Tornado пред да ги конфигурирате опциите за барање преку прокси.
Tornado нуди едно асинхроно интерфејс на HTTP клиент, под кое стојат различни имплементации. Затоа опциите за прокси може да не успеат поради избраната имплементација, дури и кога крајната точка на проксито е точна.
Документацијата за HTTP клиентот го наведува SimpleAsyncHTTPClient како стандардна имплементација и ја документира алтернативата заснована на curl. Опциите за барање како proxy_host имаат белешки за поддршка специфични за имплементацијата. Прочитајте ги тие белешки пред да додадете опции во повикот fetch.
Конфигурирајте пред да го создадете клиентот
Во опкружување што веќе има curl backend, апликацијата може да го избере пред да го создаде својот заеднички клиент:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Потоа користете ги документираните опции за барање за хост, порта, автентикација и временско ограничување на проксито за предвидениот повик. Држете го името на хостот одделно од нумеричката порта. Изборот на backend сам по себе не избира крајна точка на прокси. За дозволена јавна HTTP рута списокот на HTTP прокси нуди кандидати за хост и порта за тие опции за барање.
Создавањето на клиентот е важно затоа што апликација или рамка може да создаде и задржи HTTP клиент пред овој код да се изврши. Проверете ја вистинската инстанца употребена во неуспешното барање, наместо подоцна да создадете друг клиент и да претпоставите дека тој го објаснува првиот.
За дијагностика, забележете го активниот backend и верзијата на неговата основна библиотека заедно со фазата што не успеа. Разликувајте неподдржана опција за барање од мрежно временско ограничување и од HTTP одговор вратен од проксито. Тие набљудувања водат кон различни поправки.