Go-യുടെ CONNECT ഹെഡറുകൾ Transport-ൽ ഇടുക
CONNECT സമയത്ത് ആവശ്യമായ ഒരു ഹെഡർ ലക്ഷ്യ അഭ്യർത്ഥനയിൽ ചേർക്കാതെ HTTP പ്രോക്സിയിലേക്ക് അയയ്ക്കുക.
http.Request.Header-ലേക്ക് ചേർക്കുന്ന ഹെഡർ ലക്ഷ്യ അഭ്യർത്ഥനയെ വിവരിക്കുന്നു. HTTPS ഒരു HTTP പ്രോക്സി ഉപയോഗിക്കുമ്പോൾ, transport ആദ്യം CONNECT നടത്തുന്നു. ലക്ഷ്യ അഭ്യർത്ഥനയുടെ ഹെഡറുകൾ ആ മുൻ കൈമാറ്റത്തിനുള്ള പൊതു കോൺഫിഗറേഷൻ API അല്ല.
നിങ്ങളുടെ പ്രോക്സി ആവശ്യപ്പെടുന്ന സ്ഥിര ഹെഡറിനായി transport-ന്റെ ProxyConnectHeader കോൺഫിഗർ ചെയ്യുക:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}ഇവിടെ proxyURL വിശകലനം ചെയ്ത എൻഡ്പോയിന്റ് URL ആണ്. ഹെഡർ ഉദാഹരണസ്വഭാവമുള്ളതാണ്, പ്രോക്സി ഓപ്പറേറ്റർ അത്തരം ഒരു ഫീൽഡ് നിർവചിക്കുമ്പോൾ മാത്രമേ ഉപകരിക്കൂ.
ഓരോ പ്രോക്സിക്കും ലക്ഷ്യത്തിനും തിരഞ്ഞെടുക്കുന്ന മൂല്യത്തിനായി GetProxyConnectHeader ഉപയോഗിക്കുക. രേഖപ്പെടുത്തിയ കോൾബാക്ക് പ്രോക്സി URL-ഉം CONNECT ലക്ഷ്യവും സ്വീകരിക്കുന്നു. ഈ കോൾബാക്ക് nil അല്ലെങ്കിൽ, സ്ഥിരമായ ProxyConnectHeader ഫീൽഡ് അവഗണിക്കപ്പെടുന്നു.
മൂല്യങ്ങൾ ഉദ്ദേശിച്ച പരിധിയിൽ നിർത്തുക. പ്രോക്സിക്ക് മാത്രമുള്ള അക്കൗണ്ട് അടയാളം പ്രോക്സി കൈമാറ്റത്തിന്റേതാണ്; വെബ്സൈറ്റ് അധികാര മൂല്യം ലക്ഷ്യ അഭ്യർത്ഥനയുടേതാണ്. കോൾബാക്കിന് ആവശ്യമായ ഹാൻഡ്ഷേക്ക് മൂല്യം നിർമ്മിക്കാൻ കഴിയില്ലെങ്കിൽ, നിശബ്ദമായി വ്യത്യസ്തമായി കോൺഫിഗർ ചെയ്ത അഭ്യർത്ഥന അയയ്ക്കുന്നതിനുപകരം അതിന്റെ പിശക് മടക്കി നൽകുക.
ഈ ക്രമീകരണങ്ങൾ CONNECT കൈകാര്യം ചെയ്യുന്നത് ഇഷ്ടാനുസൃതമാക്കുന്നു. അവ സ്വന്തം പ്രാമാണീകരണ പ്രോട്ടോക്കോൾ കണ്ടുപിടിക്കുന്നില്ല, പ്രോക്സി സേവനത്തിന്റെ പ്രവേശന നയം മാറ്റുന്നുമില്ല.