Beka amaheda e-CONNECT e-Go ku-Transport
Thumela iheda elidingekayo ku-HTTP proxy ngesikhathi se-CONNECT ngaphandle kokulibeka esicelweni esiya endaweni ekuyiwa kuyo.
Iheda elengezwe ku-http.Request.Header lichaza isicelo sendawo ekuyiwa kuyo. Uma i-HTTPS isebenzisa i-HTTP proxy, i-transport yenza kuqala i-CONNECT. Amaheda esicelo sendawo ekuyiwa kuyo awasiwo i-API yokumisa ejwayelekile yalokho kushintshana kwangaphambili.
Ngeheda elimile elidingwa i-proxy yakho, lungisa i-ProxyConnectHeader ye-transport:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Lapha i-proxyURL iyi-URL yendawo yokugcina ehlaziyiwe. Iheda liyisibonelo futhi liwusizo kuphela uma umqhubi we-proxy echaza insimu enjalo.
Ngenani elikhethwa nge-proxy ngayinye noma indawo ekuyiwa kuyo, sebenzisa i-GetProxyConnectHeader. I-callback ebhaliwe ithola i-URL ye-proxy kanye nomgomo we-CONNECT. Uma le callback ingeyona nil, insimu emile i-ProxyConnectHeader iyashaywa indiva.
Gcina amanani ebangeni elihlosiwe. Umaka we-akhawunti we-proxy kuphela ungowokushintshana ne-proxy; inani lokugunyaza le-website lingelesicelo sendawo ekuyiwa kuyo. Uma i-callback ingakwazi ukukhiqiza inani le-handshake elidingekayo, buyisela iphutha layo esikhundleni sokuthumela buthule isicelo esilungiswe ngendlela ehlukile.
Lezi zilungiselelo zenza ngokwezifiso ukuphathwa kwe-CONNECT. Azisunguli iphrotokholi yokuqinisekisa eyakho futhi azishintshi inqubomgomo yokufinyelela yesevisi ye-proxy.