PowerShell Invoke-RestMethod: pomijanie serwera proxy dla jednego żądania
Użyj NoProxy w programie PowerShell 7 lub jawnie pustego serwera proxy sesji w programie Windows PowerShell 5.1.
W programie PowerShell 7 użyj jawnego przełącznika polecenia cmdlet sieci Web dla żądania, które ma przejść bezpośrednio:
Invoke-RestMethod -Uri 'https://example.com/' -NoProxy
NoProxy został wprowadzony w programie PowerShell 6.0 i nie można go łączyć z przełącznikiem Proxy. Program Windows PowerShell 5.1 nie udostępnia tego przełącznika.
W przypadku żądania w wersji 5.1 podaj sesję sieci Web z pustym obiektem WebProxy:
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
$session.Proxy = New-Object System.Net.WebProxy
Invoke-RestMethod -Uri 'https://example.com/' -WebSession $session
WebProxy bez parametrów nie ma adresu serwera proxy i pomija miejsca docelowe. Zachowaj tę sesję dla żądań, które mają korzystać z tej bezpośredniej zasady; inna sesja może zachować inną trasę.
Sprawdź wersję procesu za pomocą $PSVersionTable.PSVersion przed wybraniem formy. Te przykłady pozostawiają preferencje serwera proxy systemu operacyjnego bez zmian.
Routing bezpośredni nadal wymaga, aby miejsce docelowe było osiągalne z maszyny. W sieci, w której dostęp do Internetu jest dozwolony tylko przez pośrednika korporacyjnego, jego pominięcie może poprawnie spowodować błąd połączenia.