Zmienne proxy w cmd.exe: unikaj spacji wokół znaku równości
Używaj składni przypisania cmd.exe, która nie wstawia zbędnych spacji w nazwie ani wartości zmiennej proxy.
W cmd.exe zapisz przypisanie bez spacji wokół znaku równości:
set "HTTP_PROXY=http://proxy.example:8080"
To pozornie podobne polecenie daje inny wynik:
set HTTP_PROXY = http://proxy.example:8080
Nazwa ma teraz spację na końcu, a wartość zaczyna się od spacji. Aplikacja, która szuka HTTP_PROXY, nie pyta o HTTP_PROXY . Wyświetlone przypisanie może wyglądać prawie poprawnie, a zamierzone wyszukiwanie pozostaje puste.
Objęcie całego przypisania cudzysłowami zapobiega też przypadkowemu dodaniu końcowych spacji do wartości. Objęcie cudzysłowami samej wartości to inna forma i może pozostawić znaki cudzysłowu w zapisanej wartości.
Zastąp przykładowy nasłuch punktem końcowym HTTP z Twojej usługi lub z listy proxy HTTP. Uruchom docelowego klienta z tego okna poleceń, aby odziedziczył zmienną. Aplikacja działająca już gdzie indziej nie przejmuje nowego środowiska.
To składnia cmd.exe. PowerShell używa przypisania zmiennej środowiskowej, np. $env:HTTP_PROXY = 'http://proxy.example:8080'; w PowerShellu spacje w tym wyrażeniu nie są tym samym błędem. Program nadal musi obsługiwać podaną zmienną i protokół proxy.