Las opciones de proxy de Tornado necesitan el backend HTTP correcto
Compruebe la implementación activa del cliente HTTP de Tornado antes de configurar las opciones de solicitud del proxy.
Tornado ofrece una sola interfaz de cliente HTTP asíncrona con distintas implementaciones debajo. Por eso, las opciones de proxy pueden fallar por la implementación seleccionada incluso cuando el extremo del proxy es correcto.
La documentación del cliente HTTP identifica SimpleAsyncHTTPClient como la implementación predeterminada y documenta la alternativa basada en curl. Las opciones de solicitud como proxy_host tienen notas de compatibilidad específicas de cada implementación. Lea esas notas antes de añadir opciones a una llamada fetch.
Configure antes de construir el cliente
En un entorno que ya dispone del backend curl, una aplicación puede seleccionarlo antes de crear su cliente compartido:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Después use las opciones de solicitud documentadas para host, puerto, autenticación y tiempo de espera del proxy en la llamada prevista. Mantenga el nombre de host separado del puerto numérico. Elegir el backend no elige por sí solo un extremo de proxy. Para una ruta HTTP pública permitida, la lista de proxies HTTP proporciona candidatos de host y puerto para esas opciones de solicitud.
La construcción del cliente importa porque una aplicación o un framework puede crear y retener un cliente HTTP antes de que se ejecute este código. Inspeccione la instancia real usada en la solicitud fallida en lugar de construir otro cliente después y suponer que explica el primero.
Para el diagnóstico, registre el backend activo y la versión de su biblioteca subyacente junto con la etapa fallida. Distinga una opción de solicitud no compatible de un tiempo de espera de red y de una respuesta HTTP devuelta por el proxy. Esas observaciones llevan a correcciones distintas.