Python http.client CONNECT: Python 3.12 నుండి HTTP/1.1
పాత HTTP/1.0 CONNECT పరిష్కారాలను వర్తించే ముందు Python మరియు రవాణా అమలును తనిఖీ చేయండి.
Python CONNECT కోసం ఎప్పుడూ HTTP/1.0 పంపుతుందనే పాత ప్రకటన ఇకపై సురక్షితమైన సాధారణ నియమం కాదు. Python 3.12 http.client యొక్క టన్నెలింగ్ను HTTP/1.1కి మార్చింది మరియు Host హెడర్ ఇవ్వనప్పుడు దాన్ని స్వయంచాలకంగా సృష్టించడాన్ని జోడించింది.
ఆ మార్పు డాక్యుమెంట్ చేయబడిన ప్రామాణిక లైబ్రరీ అమలుకు చెందుతుంది. ఉన్నత స్థాయి HTTP లైబ్రరీ టన్నెల్ ప్రవర్తనను భర్తీ చేయగలదు లేదా చుట్టగలదు, కాబట్టి దాని వెర్షన్ను మరియు Python వెర్షన్ను రికార్డ్ చేయండి.
ప్రాక్సీ టన్నెల్ను తిరస్కరిస్తే, ఆ క్లయింట్ నిజంగా సృష్టించిన CONNECT మార్పిడిని పరిశీలించండి. గమ్యస్థాన అభ్యర్థన HTTP వెర్షన్ను మార్చడం లేదా వెబ్సైట్ అభ్యర్థనకు Host హెడర్ జోడించడం మునుపటి టన్నెల్ అభ్యర్థనను తప్పనిసరిగా మార్చదు.
అలాగే, పాత Requests అడాప్టర్ ఉదాహరణలో ప్రైవేట్ ఫీల్డ్లను సవరించడం అప్లికేషన్ను కాలం చెల్లిన అంతర్గత APIకి లాక్ చేయవచ్చు. అనుకూలమైన మరియు మద్దతు ఉన్న క్లయింట్ మరియు రన్టైమ్ కలయికను, డాక్యుమెంట్ చేయబడిన ప్రాక్సీ ఇంటిగ్రేషన్ను ప్రాధాన్యం ఇవ్వండి.
నివేదికలో రెండు సంభాషణలను వేరుగా ఉంచండి: టన్నెల్ తెరవడానికి ఉపయోగించిన HTTP అభ్యర్థన, ఆ తర్వాత దాని లోపల గమ్యస్థానంతో సంప్రదింపులు జరిపిన ప్రోటోకాల్. అవి వేర్వేరు వెర్షన్లను ఉపయోగించవచ్చు మరియు వేర్వేరు దశల్లో విఫలమవవచ్చు.