Заглавка, добавена към http.Request.Header, описва заявката към дестинацията. Когато HTTPS използва HTTP прокси, transport първо изпълнява CONNECT. Заглавките на заявката към дестинацията не са общ API за конфигурация на този по-ранен обмен.

За статична заглавка, изисквана от вашия прокси, конфигурирайте ProxyConnectHeader на transport:

transport := &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
    ProxyConnectHeader: http.Header{
        "X-Proxy-Account": []string{"example-account"},
    },
}

Тук proxyURL е анализираният URL на крайната точка. Заглавката е илюстративна и е полезна само когато операторът на проксито дефинира такова поле.

За стойност, избирана за всеки прокси или дестинация, използвайте GetProxyConnectHeader. Документираното обратно извикване получава URL на проксито и целта на CONNECT. Когато това извикване не е nil, статичното поле ProxyConnectHeader се игнорира.

Дръжте стойностите в предвидения обхват. Маркерът на акаунт само за проксито принадлежи на обмена с проксито; стойността за удостоверяване на уебсайт принадлежи на заявката към дестинацията. Ако обратното извикване не може да даде необходимата стойност за ръкостискане, върнете грешката му, вместо тихо да изпращате иначе конфигурирана заявка.

Тези настройки персонализират обработката на CONNECT. Те не измислят собствен протокол за удостоверяване и не променят политиката за достъп на прокси услугата.

Подобни статии