CONNECT-നായി Python എപ്പോഴും HTTP/1.0 അയയ്ക്കുന്നു എന്ന പഴയ പ്രസ്താവന ഇനി സുരക്ഷിതമായ പൊതു നിയമമല്ല. Python 3.12 http.client-ന്റെ ടണലിംഗ് HTTP/1.1 ആക്കി മാറ്റി, Host ഹെഡർ നൽകാത്തപ്പോൾ അത് സ്വയമേവ സൃഷ്ടിക്കുന്നതും ചേർത്തു.

ആ മാറ്റം രേഖപ്പെടുത്തിയ സ്റ്റാൻഡേർഡ് ലൈബ്രറി നടപ്പാക്കലിന്റെ ഭാഗമാണ്. ഉയർന്ന തലത്തിലുള്ള HTTP ലൈബ്രറിക്ക് ടണൽ സ്വഭാവം മറികടക്കാനോ പൊതിയാനോ കഴിയും, അതിനാൽ അതിന്റെ പതിപ്പും Python-ന്റെ പതിപ്പും രേഖപ്പെടുത്തുക.

പ്രോക്സി ടണൽ നിരസിക്കുന്നുവെങ്കിൽ, ആ ക്ലയന്റ് യഥാർത്ഥത്തിൽ സൃഷ്ടിച്ച CONNECT കൈമാറ്റം പരിശോധിക്കുക. ലക്ഷ്യ അഭ്യർത്ഥനയുടെ HTTP പതിപ്പ് മാറ്റുന്നതോ വെബ്സൈറ്റ് അഭ്യർത്ഥനയിൽ Host ഹെഡർ ചേർക്കുന്നതോ മുൻ ടണൽ അഭ്യർത്ഥന തീർച്ചയായും മാറ്റുകയില്ല.

അതുപോലെ, പഴയ Requests അഡാപ്റ്റർ ഉദാഹരണത്തിലെ സ്വകാര്യ ഫീൽഡുകൾ തിരുത്തുന്നത് ആപ്ലിക്കേഷനെ കാലഹരണപ്പെട്ട ആന്തരിക API-യിലേക്ക് പൂട്ടിയേക്കാം. അനുയോജ്യവും പിന്തുണയുള്ളതുമായ ക്ലയന്റും റൺടൈമും തമ്മിലുള്ള സംയോജനവും രേഖപ്പെടുത്തിയ പ്രോക്സി സംയോജനവും തിരഞ്ഞെടുക്കുക.

റിപ്പോർട്ടിൽ രണ്ട് സംഭാഷണങ്ങളും വേർതിരിച്ച് നിർത്തുക: ടണൽ തുറക്കാൻ ഉപയോഗിച്ച HTTP അഭ്യർത്ഥന, തുടർന്ന് അതിനുള്ളിൽ ലക്ഷ്യവുമായി ചർച്ച ചെയ്ത പ്രോട്ടോക്കോൾ. അവയ്ക്ക് വ്യത്യസ്ത പതിപ്പുകൾ ഉപയോഗിക്കാം, വ്യത്യസ്ത ഘട്ടങ്ങളിൽ പരാജയപ്പെടാം.

അനുബന്ധ ലേഖനങ്ങൾ