Tornado ప్రాక్సీ ఎంపికలకు సరైన HTTP బ్యాకెండ్ అవసరం
ప్రాక్సీ అభ్యర్థన ఎంపికలను కాన్ఫిగర్ చేయడానికి ముందు Tornado యొక్క యాక్టివ్ HTTP క్లయింట్ అమలును తనిఖీ చేయండి.
Tornado ఒక అసింక్రోనస్ HTTP క్లయింట్ ఇంటర్ఫేస్ను అందిస్తుంది, దాని కింద వివిధ అమలులు ఉన్నాయి. అందువల్ల ప్రాక్సీ ఎండ్పాయింట్ సరైనదైనా ఎంచుకున్న అమలు కారణంగా ప్రాక్సీ ఎంపికలు విఫలం కావచ్చు.
HTTP క్లయింట్ డాక్యుమెంటేషన్ SimpleAsyncHTTPClient ను డిఫాల్ట్ అమలుగా గుర్తిస్తుంది మరియు curl ఆధారిత ప్రత్యామ్నాయాన్ని డాక్యుమెంట్ చేస్తుంది. proxy_host వంటి అభ్యర్థన ఎంపికలకు అమలు-నిర్దిష్ట మద్దతు గమనికలు ఉన్నాయి. fetch కాల్కు ఎంపికలు జోడించే ముందు ఆ గమనికలను చదవండి.
క్లయింట్ను నిర్మించే ముందు కాన్ఫిగర్ చేయండి
ఇప్పటికే curl బ్యాకెండ్ ఉన్న వాతావరణంలో, అప్లికేషన్ తన భాగస్వామ్య క్లయింట్ను సృష్టించే ముందు దాన్ని ఎంచుకోవచ్చు:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
ఆ తర్వాత ఉద్దేశించిన కాల్ కోసం డాక్యుమెంట్ చేయబడిన ప్రాక్సీ హోస్ట్, పోర్ట్, ప్రామాణీకరణ మరియు సమయ పరిమితి అభ్యర్థన ఎంపికలను ఉపయోగించండి. హోస్ట్నేమ్ను సంఖ్యా పోర్ట్ నుండి వేరుగా ఉంచండి. బ్యాకెండ్ను ఎంచుకోవడం దానంతట అదే ప్రాక్సీ ఎండ్పాయింట్ను ఎంచుకోదు. అనుమతించిన పబ్లిక్ HTTP మార్గానికి HTTP ప్రాక్సీ జాబితా ఆ అభ్యర్థన ఎంపికలకు హోస్ట్ మరియు పోర్ట్ అభ్యర్థులను అందిస్తుంది.
ఈ కోడ్ అమలయ్యే ముందు అప్లికేషన్ లేదా ఫ్రేమ్వర్క్ HTTP క్లయింట్ను సృష్టించి ఉంచుకోవచ్చు కాబట్టి క్లయింట్ నిర్మాణం ముఖ్యం. విఫలమైన అభ్యర్థనలో ఉపయోగించిన వాస్తవ ఇన్స్టాన్స్ను పరిశీలించండి, తర్వాత మరో క్లయింట్ను నిర్మించి అది మొదటిదాన్ని వివరిస్తుందని ఊహించే బదులు.
నిర్ధారణ కోసం యాక్టివ్ బ్యాకెండ్ మరియు దాని అంతర్లీన లైబ్రరీ వెర్షన్ను విఫలమైన దశతో పాటు నమోదు చేయండి. మద్దతు లేని అభ్యర్థన ఎంపికను నెట్వర్క్ సమయ పరిమితి మరియు ప్రాక్సీ తిరిగి ఇచ్చిన HTTP ప్రతిస్పందన నుండి వేరు చేయండి. ఆ పరిశీలనలు వేర్వేరు సవరణలకు దారి తీస్తాయి.