Χρησιμοποιήστε το go-ieproxy για επιλογή διαμεσολαβητή ανά URL στα Windows
Χρησιμοποιήστε το go-ieproxy.GetProxyFunc σε δικό σας transport αντί να ισοπεδώνετε την αυτόματη πολιτική των Windows σε στατικές τιμές περιβάλλοντος.
Εφόσον το go-ieproxy είναι ήδη διαθέσιμο και το τυπικό προεπιλεγμένο transport είναι ακόμη εγκατεστημένο, προσαρτήστε τη συνάρτηση διαμεσολαβητή που λαμβάνει υπόψη το αίτημα:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Εισαγάγετε τα net/http, time και github.com/mattn/go-ieproxy και κάντε τα αιτήματα του φόρτου εργασίας μέσω του client. Η δήλωση τύπου απαιτεί το DefaultTransport να παραμείνει ένα http.Transport.
Το GetProxyFunc καλύπτει στατικές ρυθμίσεις, ένα ρητό σενάριο αυτόματης διαμόρφωσης και πλήρη αυτόματη ανακάλυψη. Η αναζήτησή του στα Windows χρησιμοποιεί τη διαμόρφωση του τρέχοντος χρήστη και καταφεύγει στο μητρώο αν η πρώτη κλήση API αποτύχει.
Το OverrideEnvWithStaticProxy κάνει διαφορετική επιλογή: εξάγει χειροκίνητες ρυθμίσεις και δεν μπορεί να διατηρήσει αυτόματες αποφάσεις ανά προορισμό. Χρησιμοποιήστε αυτή τη μετατροπή μόνο για σκόπιμα στατική πολιτική.
Για μια υπηρεσία Windows, ο τρέχων χρήστης μπορεί να διαφέρει από τον χρήστη της επιφάνειας εργασίας του οποίου το πρόγραμμα περιήγησης λειτουργεί. Ελέγξτε τον λογαριασμό υπηρεσίας και τον πραγματικό προορισμό όταν συγκρίνετε το αποτέλεσμα. Η ανακάλυψη παρέχει έναν υποψήφιο διαδρομής, όχι έλεγχο ταυτότητας ή εγγύηση ότι το τελικό σημείο είναι προσβάσιμο.