PowerShell kann das leere Proxy-Argument von curl.exe verwerfen
Berücksichtigen Sie die Übergabe nativer Argumente in PowerShell, wenn sich eine leere curl-Proxy-Option anders als in cmd verhält.
curl --proxy "" setzt voraus, dass curl ein leeres Argument erhält. Der Befehl kann sich in verschiedenen Windows-Shells unterschiedlich verhalten, weil die Übergabe nativer Befehle im älteren Windows PowerShell leere Zeichenfolgen nicht so bewahrt wie die neueren Modi, die in PowerShell 7.3 eingeführt wurden.
Verschwindet der leere Wert, kann das folgende Argument als Proxy-Wert verbraucht werden. Das ist ein Problem der Befehlszeilenauswertung, noch bevor eine Netzwerkentscheidung fällt.
Bei einer direkten curl-Anfrage lässt sich die Absicht mit einem nicht leeren Bypass-Argument leichter übergeben:
curl.exe --noproxy '*' https://example.com/
Verwenden Sie curl.exe bewusst: Windows PowerShell kann curl als Alias für einen anderen Befehl auflösen. Der Stern in Anführungszeichen wird als curls Bypass-Wert für alle Hosts übergeben.
Prüfen Sie bei Skripten, die aufwendigere native Argumente benötigen, die PowerShell-Version und ihren Modus für die Übergabe nativer Argumente. Ein unverändert kopiertes cmd-Beispiel belegt nicht, dass curl dieselbe Argumentliste erhalten hat.