cURL zu PowerShell
curl-Befehl einfügen und ein PowerShell-Skript mit Invoke-RestMethod erhalten – mit Anführungszeichen, die Ihr Token nicht verschlucken.
cURL zu PowerShell wandelt in Ihrem Browser um. Befehle mit Zugangsdaten verlassen Ihr Gerät nicht.
cURL zu C# öffnen
Über cURL to PowerShell
Einen curl-Befehl in PowerShell einzufügen funktioniert selten, und nicht nur wegen der Flags. PowerShell interpoliert Variablen in doppelten Anführungszeichen, ein Token mit Dollarzeichen wird also stillschweigend zur leeren Zeichenkette und die Anfrage kommt als 401 zurück. Dieser Konverter erzeugt Literale in einfachen Anführungszeichen, die PowerShell als reinen Text behandelt. Header werden zur Hashtable, ein JSON-Body geht durch ConvertTo-Json.
Funktionen
- Invoke-RestMethod mit lesbar umbrochenen Parametern
- Header als PowerShell-Hashtable
- JSON-Bodies als Hashtable, weitergereicht an ConvertTo-Json
- Einfache Anführungszeichen, damit ein $ im Token nie interpoliert wird
- Basic Auth als Base64-Authorization-Header nachgebaut
- Die Umwandlung läuft in Ihrem Browser
So verwendest du cURL to PowerShell
- curl-Befehl aus der Dokumentation kopieren
- Links einfügen
- Den erzeugten PowerShell-Code rechts prüfen
- Kopieren oder als .ps1-Datei herunterladen
Beispiel
Eingabe
curl https://api.example.com/users -H "X-Api-Key: abc123"
Ausgabe
$headers = @{
'X-Api-Key' = 'abc123'
}
$response = Invoke-RestMethod `
-Uri 'https://api.example.com/users' `
-Method GET `
-Headers $headers
Einfache Anführungszeichen halten den Wert wörtlich, welche Zeichen auch immer darin stehen.
Häufige Fehler & Fehlerbehebung
- Die Anfrage liefert 401, obwohl das Token stimmt. — Eine Zeichenkette in doppelten Anführungszeichen interpoliert alles nach einem Dollarzeichen, ein Teil des Tokens verschwindet. Die einfachen Anführungszeichen beibehalten oder das Dollarzeichen mit einem Backtick maskieren.
- Der JSON-Body kommt verstümmelt an. — Prüfen Sie -Depth bei ConvertTo-Json. Der Standard ist 2 und flacht verschachtelte Objekte ab – der erzeugte Code setzt deshalb 10.
- Nicht-ASCII-Zeichen kommen falsch an. — Windows PowerShell 5.1 nutzt für den Body standardmäßig eine andere Kodierung als UTF-8. Auf PowerShell 7 wechseln oder das JSON als UTF-8-Bytes senden.
Häufig gestellte Fragen
- Ist curl in PowerShell dasselbe wie Invoke-WebRequest?
- In Windows PowerShell 5.1 ist curl ein Alias für Invoke-WebRequest, weshalb ein echter curl-Befehl mit verwirrenden Parameterfehlern scheitert. PowerShell 7 hat den Alias entfernt.
- Invoke-RestMethod oder Invoke-WebRequest?
- Für APIs Invoke-RestMethod, weil es eine JSON-Antwort direkt in Objekte verwandelt. Invoke-WebRequest liefert die rohe Antwort mit Statuscode und Headern – sinnvoll, wenn diese Details zählen.
- Wie sende ich Basic Authentication in PowerShell?
- Benutzername:Passwort in Base64 kodieren und als Authorization-Header senden. Der Parameter -Credential existiert, sendet aber erst nach einer Challenge, die viele APIs nie schicken.
- Warum sind die Parameter mit Backticks getrennt?
- Der Backtick ist PowerShells Zeilenfortsetzungszeichen, damit ein langer Aufruf über mehrere Zeilen lesbar bleibt. Er muss das letzte Zeichen der Zeile sein, ohne Leerzeichen dahinter.
Verwandte Tools
- cURL to Ruby — Convert a curl command to Ruby Net::HTTP code.
- curl zu Python — Wandle einen curl-Befehl in Python-requests-Code um.
- cURL zu C# — Wandelt einen curl-Befehl in C#-Code mit HttpClient um.
- curl zu Node.js — Wandle einen curl-Befehl in Node.js-axios-Code um.
- curl zu Go — Wandle einen curl-Befehl in Go-net/http-Code um.
- cURL zu Fetch — Konvertiere einen curl-Befehl in einen JavaScript-fetch()-Aufruf.
Alle ArrayKit-Tools