Go'nun CONNECT başlıklarını Transport'a koyun
CONNECT sırasında gereken bir başlığı hedef isteğe eklemeden HTTP proxy'sine gönderin.
http.Request.Header'a eklenen başlık hedef isteği tanımlar. HTTPS bir HTTP proxy'si kullandığında, transport önce CONNECT gerçekleştirir. Hedef isteğin başlıkları, o önceki alışveriş için genel bir yapılandırma API'si değildir.
Proxy'nizin gerektirdiği statik bir başlık için transport'un ProxyConnectHeader alanını yapılandırın:
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
ProxyConnectHeader: http.Header{
"X-Proxy-Account": []string{"example-account"},
},
}Burada proxyURL ayrıştırılmış uç nokta URL'sidir. Başlık örnektir ve yalnızca proxy operatörü böyle bir alan tanımladığında yararlıdır.
Proxy veya hedef başına seçilen bir değer için GetProxyConnectHeader kullanın. Belgelenen geri çağırma proxy URL'sini ve CONNECT hedefini alır. Bu geri çağırma nil değilse, statik ProxyConnectHeader alanı yok sayılır.
Değerleri amaçlanan kapsamda tutun. Yalnızca proxy'ye ait hesap işareti proxy alışverişine aittir; bir web sitesinin yetkilendirme değeri hedef isteğe aittir. Bir geri çağırma gerekli el sıkışma değerini üretemiyorsa, sessizce farklı yapılandırılmış bir istek göndermek yerine hatasını döndürün.
Bu ayarlar CONNECT işleyişini özelleştirir. Özel bir kimlik doğrulama protokolü icat etmezler ve proxy hizmetinin erişim politikasını değiştirmezler.