Les opcions de proxy de Tornado necessiten el backend HTTP correcte
Comproveu la implementació activa del client HTTP de Tornado abans de configurar les opcions de petició del proxy.
Tornado ofereix una única interfície de client HTTP asíncrona amb implementacions diferents a sota. Per això, les opcions de proxy poden fallar per la implementació seleccionada fins i tot quan el punt final del proxy és correcte.
La documentació del client HTTP identifica SimpleAsyncHTTPClient com la implementació per defecte i documenta l'alternativa basada en curl. Les opcions de petició com proxy_host tenen notes de suport específiques de cada implementació. Llegiu aquestes notes abans d'afegir opcions a una crida fetch.
Configureu abans de construir el client
En un entorn que ja disposa del backend curl, una aplicació el pot seleccionar abans de crear el seu client compartit:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Després feu servir les opcions de petició documentades per a amfitrió, port, autenticació i temps d'espera del proxy per a la crida prevista. Manteniu el nom d'amfitrió separat del port numèric. Triar el backend no tria per si mateix un punt final de proxy. Per a una ruta HTTP pública permesa, la llista de proxys HTTP proporciona candidats d'amfitrió i port per a aquestes opcions de petició.
La construcció del client importa perquè una aplicació o un framework pot crear i retenir un client HTTP abans que s'executi aquest codi. Inspeccioneu la instància real utilitzada en la petició fallida en lloc de construir-ne un altre després i suposar que explica el primer.
Per al diagnòstic, registreu el backend actiu i la versió de la biblioteca subjacent juntament amb l'etapa fallida. Distingiu una opció de petició no suportada d'un temps d'espera de xarxa i d'una resposta HTTP retornada pel proxy. Aquestes observacions porten a correccions diferents.