Tornado бир асинхрондук HTTP кардар интерфейсин сунуштайт, анын астында ар кандай ишке ашырылыштар бар. Ошондуктан прокси аяккы чекити туура болсо да, тандалган ишке ашырылышка байланыштуу прокси параметрлери ишке ашпай калышы мүмкүн.

HTTP кардардын документтери SimpleAsyncHTTPClient'ды демейки ишке ашырылыш катары көрсөтөт жана curl негизиндеги альтернативаны документтештирет. proxy_host сыяктуу сурам параметрлеринин ишке ашырылышка таандык колдоо эскертүүлөрү бар. fetch чакыруусуна параметрлерди кошпой туруп, ошол эскертүүлөрдү окуңуз.

Кардарды түзүүдөн мурун конфигурациялаңыз

curl backend'и бар чөйрөдө колдонмо өзүнүн жалпы кардарын түзүүдөн мурун аны тандай алат:

from tornado.httpclient import AsyncHTTPClient

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

Андан кийин көздөлгөн чакыруу үчүн документтелген прокси хостун, портун, аутентификациясын жана убакыт чегин сурам параметрлерин колдонуңуз. Хосттун атын сандык порттон өзүнчө кармаңыз. Backend'ди тандоо өзү менен эле прокси аяккы чекитин тандабайт. Уруксат берилген коомдук HTTP маршруту үчүн HTTP прокси тизмеси ошол сурам параметрлери үчүн хост жана порт талапкерлерин сунуштайт.

Кардарды түзүү маанилүү, анткени колдонмо же фреймворк бул код иштегенге чейин HTTP кардарды түзүп, сактап турушу мүмкүн. Ишке ашпаган сурамда колдонулган чыныгы нусканы текшериңиз, кийин башка кардар түзүп, ал биринчисин түшүндүрөт деп божомолдобоңуз.

Диагностика үчүн активдүү backend'ди жана анын негизги китепканасынын версиясын ишке ашпаган этап менен бирге жазыңыз. Колдоого алынбаган сурам параметрин тармактын убакыт чегинен жана прокси кайтарган HTTP жообунан айырмалаңыз. Бул байкоолор ар кандай оңдоолорго алып барат.

Тектеш макалалар