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 એ પાર્સ કરેલ endpoint URL છે. હેડર ઉદાહરણરૂપ છે અને જ્યારે પ્રોક્સી ઓપરેટર આવું ક્ષેત્ર વ્યાખ્યાયિત કરે ત્યારે જ ઉપયોગી છે.
દરેક પ્રોક્સી અથવા લક્ષ્ય માટે પસંદ કરાયેલ મૂલ્ય માટે GetProxyConnectHeader વાપરો. દસ્તાવેજીકૃત કૉલબેક પ્રોક્સી URL અને CONNECT લક્ષ્ય મેળવે છે. જ્યારે આ કૉલબેક nil ન હોય, ત્યારે સ્થિર ProxyConnectHeader ક્ષેત્ર અવગણાય છે.
મૂલ્યોને ઇચ્છિત વ્યાપમાં રાખો. ફક્ત પ્રોક્સી માટેનું ખાતા ચિહ્ન પ્રોક્સી આપલેનું છે; વેબસાઇટ ઑથરાઇઝેશન મૂલ્ય લક્ષ્ય વિનંતીનું છે. જો કૉલબેક જરૂરી હેન્ડશેક મૂલ્ય બનાવી શકે નહીં, તો ચૂપચાપ અલગ રૂપરેખાંકિત વિનંતી મોકલવાને બદલે તેની ભૂલ પરત કરો.
આ સેટિંગ્સ CONNECT સંભાળને કસ્ટમાઇઝ કરે છે. તે પોતાનું પ્રમાણીકરણ પ્રોટોકોલ શોધતા નથી કે પ્રોક્સી સેવાની ઍક્સેસ નીતિ બદલતા નથી.