Tornado прокси параметрлеріне дұрыс HTTP backend қажет
Прокси сұрау параметрлерін конфигурацияламас бұрын Tornado-ның белсенді HTTP клиент іске асырылуын тексеріңіз.
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 жауабынан ажыратыңыз. Бұл байқаулар әртүрлі түзетулерге әкеледі.