Tornado tillhandahåller ett asynkront HTTP-klientgränssnitt med olika implementeringar under. Proxyalternativen kan därför misslyckas på grund av den valda implementeringen, även när proxyns slutpunkt är korrekt.

HTTP-klientdokumentationen anger SimpleAsyncHTTPClient som standardimplementering och dokumenterar curl-baserade alternativet. Begäransalternativ som proxy_host har implementeringsspecifika supportanteckningar. Läs dessa anteckningar innan du lägger till alternativ i ett fetch-anrop.

Konfigurera innan klienten skapas

I en miljö som redan har curl-backenden kan ett program välja den innan det skapar sin delade klient:

from tornado.httpclient import AsyncHTTPClient

AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()

Använd sedan de dokumenterade begäransalternativen för proxyvärd, port, autentisering och tidsgräns för det avsedda anropet. Håll värdnamnet åtskilt från den numeriska porten. Att välja backend väljer inte i sig en proxy-slutpunkt. För en tillåten offentlig HTTP-rutt tillhandahåller HTTP-proxylistan värd- och portkandidater för dessa begäransalternativ.

Att skapa klienten spelar roll eftersom ett program eller ramverk kan skapa och behålla en HTTP-klient innan denna kod körs. Granska den faktiska instans som användes i den misslyckade begäran i stället för att senare skapa en annan klient och anta att den förklarar den första.

För diagnostik, registrera den aktiva backenden och versionen av dess underliggande bibliotek tillsammans med det misslyckade steget. Skilj ett icke-stött begäransalternativ från en nätverkstidsgräns och från ett HTTP-svar som proxyn returnerade. Dessa observationer leder till olika åtgärder.

Relaterade artiklar