Tornado ofron një ndërfaqe të vetme klienti HTTP asinkrone, nën të cilën qëndrojnë implementime të ndryshme. Prandaj opsionet e proxy-t mund të dështojnë për shkak të implementimit të zgjedhur, edhe kur pika fundore e proxy-t është e saktë.

Dokumentacioni i klientit HTTP e identifikon SimpleAsyncHTTPClient si implementimin e parazgjedhur dhe dokumenton alternativën e bazuar në curl. Opsionet e kërkesës si proxy_host kanë shënime mbështetjeje specifike për implementimin. Lexoni ato shënime përpara se të shtoni opsione në një thirrje fetch.

Konfiguroni përpara se të ndërtohet klienti

Në një mjedis që e ka tashmë backend-in curl, një aplikacion mund ta zgjedhë atë përpara se të krijojë klientin e tij të përbashkët:

from tornado.httpclient import AsyncHTTPClient

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

Më pas përdorni opsionet e dokumentuara të kërkesës për host, port, vërtetim dhe afat kohor të proxy-t për thirrjen e synuar. Mbajeni emrin e hostit të ndarë nga porta numerike. Zgjedhja e backend-it nuk zgjedh vetë një pikë fundore proxy. Për një rrugë publike HTTP të lejuar, lista e proxy-ve HTTP ofron kandidatë hosti dhe porte për ato opsione të kërkesës.

Ndërtimi i klientit ka rëndësi sepse një aplikacion ose framework mund të krijojë dhe të mbajë një klient HTTP përpara se ky kod të ekzekutohet. Inspektoni instancën aktuale të përdorur në kërkesën e dështuar, në vend që më vonë të ndërtoni një klient tjetër dhe të supozoni se ai shpjegon të parin.

Për diagnostikim, regjistroni backend-in aktiv dhe versionin e bibliotekës bazë së tij bashkë me fazën e dështuar. Dalloni një opsion kërkese të pambështetur nga një afat kohor rrjeti dhe nga një përgjigje HTTP e kthyer nga proxy-t. Këto vëzhgime çojnë në rregullime të ndryshme.

Artikuj të ngjashëm