As opcións de proxy de Tornado necesitan o backend HTTP correcto
Comprobe a implementación activa do cliente HTTP de Tornado antes de configurar as opcións de solicitude do proxy.
Tornado ofrece unha única interface de cliente HTTP asíncrona con implementacións diferentes por debaixo. Por iso, as opcións de proxy poden fallar pola implementación seleccionada mesmo cando o punto final do proxy é correcto.
A documentación do cliente HTTP identifica SimpleAsyncHTTPClient como a implementación predeterminada e documenta a alternativa baseada en curl. As opcións de solicitude como proxy_host teñen notas de compatibilidade específicas de cada implementación. Lea esas notas antes de engadir opcións a unha chamada fetch.
Configure antes de construír o cliente
Nunha contorna que xa dispón do backend curl, unha aplicación pode seleccionalo antes de crear o seu cliente compartido:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Despois use as opcións de solicitude documentadas para host, porto, autenticación e tempo de espera do proxy na chamada prevista. Mantéña o nome de host separado do porto numérico. Escoller o backend non escolle por si só un punto final de proxy. Para unha ruta HTTP pública permitida, a lista de proxies HTTP fornece candidatos de host e porto para esas opcións de solicitude.
A construción do cliente importa porque unha aplicación ou un framework pode crear e reter un cliente HTTP antes de que se execute este código. Inspeccione a instancia real usada na solicitude fallida en lugar de construír outro cliente despois e supoñer que explica o primeiro.
Para o diagnóstico, rexistre o backend activo e a versión da súa biblioteca subxacente xunto coa etapa fallida. Distinga unha opción de solicitude non compatible dun tempo de espera de rede e dunha resposta HTTP devolta polo proxy. Esas observacións levan a correccións diferentes.