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 વિનંતી, પછી તેની અંદર ગંતવ્ય સાથે વાટાઘાટ કરેલ પ્રોટોકોલ. તેઓ જુદી જુદી આવૃત્તિઓ વાપરી શકે અને જુદા જુદા તબક્કે નિષ્ફળ જઈ શકે.