Tornado starpniekservera opcijām vajadzīgs pareizais HTTP backend
Pirms starpniekservera pieprasījuma opciju konfigurēšanas pārbaudiet Tornado aktīvo HTTP klienta implementāciju.
Tornado piedāvā vienu asinhronu HTTP klienta saskarni, zem kuras ir dažādas implementācijas. Tāpēc starpniekservera opcijas var neizdoties izvēlētās implementācijas dēļ arī tad, ja starpniekservera galapunkts ir pareizs.
HTTP klienta dokumentācija norāda SimpleAsyncHTTPClient kā noklusējuma implementāciju un dokumentē curl balstīto alternatīvu. Pieprasījuma opcijām, piemēram, proxy_host, ir implementācijai raksturīgas atbalsta piezīmes. Izlasiet šīs piezīmes pirms opciju pievienošanas fetch izsaukumam.
Konfigurējiet pirms klienta izveides
Vidē, kurā jau ir curl backend, lietotne var to izvēlēties pirms sava koplietotā klienta izveides:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Pēc tam paredzētajam izsaukumam izmantojiet dokumentētās starpniekservera hosta, porta, autentifikācijas un taimauta pieprasījuma opcijas. Turiet hosta nosaukumu atsevišķi no skaitliskā porta. Backend izvēle pati par sevi neizvēlas starpniekservera galapunktu. Atļautam publiskam HTTP maršrutam HTTP starpniekserveru saraksts piedāvā hosta un porta kandidātus šīm pieprasījuma opcijām.
Klienta izveide ir svarīga, jo lietotne vai ietvars var izveidot un saglabāt HTTP klientu pirms šī koda izpildes. Pārbaudiet faktisko instanci, kas tika izmantota neveiksmīgajā pieprasījumā, tā vietā lai vēlāk veidotu citu klientu un pieņemtu, ka tas izskaidro pirmo.
Diagnostikai pierakstiet aktīvo backend un tā pamatā esošās bibliotēkas versiju kopā ar neveiksmīgo posmu. Atšķiriet neatbalstītu pieprasījuma opciju no tīkla taimauta un no starpniekservera atgrieztas HTTP atbildes. Šie novērojumi ved pie dažādiem labojumiem.