Tā kā go-ieproxy jau ir pieejams un standarta noklusējuma transport joprojām ir instalēts, pievienojiet tā pieprasījumu apzinošo starpniekservera funkciju:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Importējiet net/http, time un github.com/mattn/go-ieproxy, un veiciet darba slodzes pieprasījumus caur client. Tipa pārbaude prasa, lai DefaultTransport paliktu http.Transport.

GetProxyFunc aptver statiskos iestatījumus, skaidru automātiskās konfigurācijas skriptu un pilnīgi automātisku atklāšanu. Tā Windows meklēšana izmanto pašreizējā lietotāja konfigurāciju un, ja pirmais API izsaukums neizdodas, atgriežas pie reģistra.

OverrideEnvWithStaticProxy izdara citādu izvēli: tas eksportē manuālos iestatījumus un nevar saglabāt automātiskos lēmumus katram galamērķim. Izmantojiet šo pārveidi tikai apzināti statiskai politikai.

Windows servisam pašreizējais lietotājs var atšķirties no tā darbvirsmas lietotāja, kuram darbojas pārlūks.Salīdzinot rezultātu, pārbaudiet servisa kontu un faktisko galamērķi. Atklāšana nodrošina maršruta kandidātu, nevis autentifikāciju vai garantiju, ka galapunkts ir sasniedzams.

Saistītie raksti