Curl-Befehle unter Windows ausführen: Installation, Syntax in CMD und PowerShell sowie Lösungen für häufige Fehlermeldungen im Überblick.

Curl lässt sich unter Windows 10 und Windows 11 direkt in der Eingabeaufforderung, der PowerShell oder dem Windows Terminal nutzen, da das Tool seit 2018 fest im Betriebssystem integriert ist.
Öffnen Sie dazu einfach ein Terminal-Fenster und geben Sie curl.exe gefolgt vom gewünschten Befehl ein. Fehlt curl dennoch, lässt es sich in wenigen Sekunden über winget nachinstallieren.
Was ist curl und wofür wird es unter Windows benötigt?
Curl steht für „Client URL“ und ist ein Kommandozeilen-Tool, mit dem Sie Daten über verschiedene Netzwerkprotokolle übertragen können. Dazu zählen unter anderem HTTP, HTTPS, FTP sowie SFTP. Ursprünglich stammt curl aus der Linux-Welt, wird jedoch mittlerweile auch unter Windows standardmäßig mitgeliefert.
Entwickler nutzen curl beispielsweise, um APIs zu testen, Dateien direkt von einem Server herunterzuladen oder Serverantworten genauer zu untersuchen. Zudem eignet sich das Tool hervorragend für Automatisierungs-Skripte, da es sich problemlos in Batch-Dateien sowie PowerShell-Skripte einbinden lässt.
Auch Systemadministratoren greifen häufig auf curl zurück, um beispielsweise die Erreichbarkeit eines Webservers zu prüfen. Ebenso hilfreich ist das Tool, wenn Sie HTTP-Header einsehen oder gezielt eine POST-Anfrage mit eigenen Daten versenden möchten.
Ist curl bereits in Windows 10 und Windows 11 vorinstalliert?
Seit Windows 10 Version 1803 liefert Microsoft curl standardmäßig mit dem Betriebssystem aus. Somit ist das Tool sowohl unter Windows 10 als auch unter Windows 11 von Haus aus einsatzbereit, ohne dass eine zusätzliche Installation nötig wäre.
Um zu prüfen, ob curl auf Ihrem System vorhanden ist, öffnen Sie ein beliebiges Terminal und geben Sie folgenden Befehl ein:
curl --version
Erscheint daraufhin eine Versionsnummer, ist curl korrekt installiert und einsatzbereit. Falls stattdessen eine Fehlermeldung auftaucht, nutzen Sie vermutlich eine ältere Windows-Version, oder das Tool wurde aus dem PATH entfernt.
Wichtig zu wissen: Unter Windows 11 finden Sie die ausführbare Datei üblicherweise unter C:\Windows\System32\curl.exe. Deshalb funktioniert der Befehl unabhängig davon, ob Sie die Eingabeaufforderung, die PowerShell oder das Windows Terminal verwenden.
Curl-Befehle in der Eingabeaufforderung (cmd) ausführen
Die klassische Eingabeaufforderung, oft auch „cmd“ genannt, ist der einfachste Weg, um curl unter Windows zu nutzen. Öffnen Sie dazu das Startmenü, geben Sie „cmd“ ein und bestätigen Sie mit der Eingabetaste.
Anschließend können Sie curl direkt verwenden, da in cmd kein störender Alias existiert. Ein einfacher Befehl sieht folgendermaßen aus:
curl https://example.com
Dieser Befehl ruft den Inhalt der angegebenen Webseite ab und gibt ihn im Terminal aus. Möchten Sie stattdessen eine Datei herunterladen, verwenden Sie zusätzlich den Parameter -O:
curl -O https://example.com/datei.zip
Die heruntergeladene Datei wird dabei automatisch im aktuellen Verzeichnis gespeichert. Da die Eingabeaufforderung keine Alias-Konflikte mit curl aufweist, eignet sie sich besonders gut für Einsteiger.
Curl-Befehle in der PowerShell ausführen
Bei der PowerShell müssen Sie etwas genauer hinschauen, da sich das Verhalten je nach Version unterscheidet. In der Windows PowerShell 5.1, die standardmäßig auf Windows 10 und Windows 11 vorinstalliert ist, existiert nämlich ein integrierter Alias namens curl.
Dieser Alias verweist jedoch nicht auf das eigentliche curl-Programm, sondern auf das PowerShell-Cmdlet Invoke-WebRequest. Folglich akzeptiert er andere Parameter, wodurch klassische curl-Befehle fehlschlagen können.
Um das eigentliche curl-Tool in der PowerShell 5.1 zu nutzen, haben Sie zwei Möglichkeiten:
- Rufen Sie das Programm explizit mit der Endung
.exeauf, alsocurl.exe -O https://example.com/datei.zip. - Entfernen Sie den störenden Alias für die aktuelle Sitzung mit
Remove-Item Alias:curl.
In der moderneren PowerShell 7 und höher ist dieser Alias hingegen nicht mehr vorhanden. Deshalb funktioniert dort der einfache Befehl curl bereits ohne Zusatz, sofern curl.exe im PATH liegt.
Empfehlenswert ist trotzdem, in Skripten grundsätzlich curl.exe statt curl zu schreiben. Auf diese Weise vermeiden Sie unerwartete Überraschungen, egal welche PowerShell-Version gerade aktiv ist.
Curl-Befehle im Windows Terminal ausführen
Das Windows Terminal ist eine moderne Terminal-Anwendung, die mehrere Shells wie cmd, PowerShell sowie die Linux-Subsystem-Umgebung in einer Oberfläche vereint. Sie öffnen es bequem über das Startmenü oder direkt per Rechtsklick auf das Startsymbol.
Innerhalb des Windows Terminals wählen Sie zunächst oben im Reiter aus, welche Shell Sie verwenden möchten, etwa PowerShell, Eingabeaufforderung oder Ubuntu, falls das Windows-Subsystem für Linux installiert ist. Anschließend gelten dieselben Regeln wie in den jeweiligen eigenständigen Terminals.
Nutzen Sie beispielsweise die cmd-Registerkarte, funktioniert curl sofort ohne Alias-Probleme. Wählen Sie hingegen PowerShell 5.1, sollten Sie weiterhin auf curl.exe zurückgreifen, um Verwechslungen zu vermeiden.
Ein großer Vorteil des Windows Terminals liegt zudem in der übersichtlichen Tab-Funktion. Dadurch können Sie mehrere curl-Befehle parallel in unterschiedlichen Shells testen, ohne ständig zwischen separaten Fenstern wechseln zu müssen.
Curl unter Windows installieren oder aktualisieren
Obwohl curl standardmäßig vorinstalliert ist, möchten manche Nutzer eine aktuellere Version verwenden oder zusätzliche Funktionen nutzen. Dafür stehen unter Windows mehrere Wege zur Verfügung.
Curl mit winget installieren
Der Windows Package Manager (winget) ist die schnellste Methode, um curl zu installieren oder zu aktualisieren. Öffnen Sie dazu die PowerShell als Administrator und führen Sie folgenden Befehl aus:
winget install curl.curl
Dadurch wird automatisch die neueste stabile Version installiert, wobei winget zusätzlich die PATH-Variable korrekt konfiguriert. Ein manuelles Nachbearbeiten ist somit meist nicht erforderlich.
Curl mit Chocolatey installieren
Alternativ können Sie den Paketmanager Chocolatey verwenden, sofern dieser bereits auf Ihrem System eingerichtet ist. Der passende Befehl lautet:
choco install curl
Chocolatey eignet sich besonders für Nutzer, die bereits weitere Tools über diesen Paketmanager verwalten. Dadurch bleibt die gesamte Softwareverwaltung an einer zentralen Stelle gebündelt.
Curl manuell herunterladen und einrichten
Wer keinen Paketmanager verwenden möchte, kann die ausführbare Datei ebenso manuell von der offiziellen curl-Webseite herunterladen. Anschließend entpacken Sie das ZIP-Archiv an einen gewünschten Ort, beispielsweise C:\curl.
Damit Windows das Programm systemweit erkennt, fügen Sie den entsprechenden Ordner zur Umgebungsvariable PATH hinzu. Öffnen Sie dazu die Systemeinstellungen, suchen Sie nach „Umgebungsvariablen bearbeiten“ und ergänzen Sie den Pfad zur curl.exe-Datei.
Häufige curl-Befehle unter Windows: Beispiele für den Alltag
Damit Sie curl gezielt einsetzen können, folgen nun praxisnahe Beispiele für typische Anwendungsfälle. Diese Befehle funktionieren identisch in cmd sowie in PowerShell, sofern Sie dort curl.exe verwenden.
Webseite abrufen:
curl https://example.com
Datei herunterladen und unter Originalnamen speichern:
curl -O https://example.com/datei.zip
Datei herunterladen und selbst benennen:
curl -o meinedatei.zip https://example.com/datei.zip
Nur HTTP-Header abfragen, ohne den vollständigen Inhalt:
curl --head https://example.com
POST-Anfrage mit JSON-Daten senden:
curl -X POST https://api.example.com/items -H "Content-Type: application/json" -d "{\"name\":\"Beispiel\"}"
Weiterleitungen automatisch verfolgen:
curl -L https://example.com
Ausführliche Ausgabe zur Fehlersuche aktivieren:
curl -v https://example.com
Authentifizierung mit einem Bearer-Token:
curl -H "Authorization: Bearer IhrToken" https://api.example.com/resource
Bei mehrzeiligen Befehlen unterscheidet sich zudem die Syntax je nach Shell. Während cmd das Zeichen ^ für Zeilenumbrüche nutzt, verwendet die PowerShell stattdessen das Zeichen `.
Curl-Fehler unter Windows beheben
Trotz der einfachen Handhabung tauchen gelegentlich Fehlermeldungen auf. Nachfolgend finden Sie die häufigsten Probleme sowie passende Lösungen.
Wird die Meldung „curl wird nicht als Befehl erkannt“ angezeigt, fehlt curl entweder komplett oder der Installationsordner ist nicht in der PATH-Variable hinterlegt. Installieren Sie das Tool in diesem Fall über winget install curl.curl und starten Sie das Terminal anschließend neu.
Tritt hingegen ein SSL-Zertifikatsfehler auf, liegt dies meist an veralteten Root-Zertifikaten auf Ihrem System. Aktualisieren Sie deshalb zunächst Windows über die Update-Funktion, da dadurch üblicherweise auch die Zertifikatsspeicher erneuert werden.
Erhalten Sie unerwartete Ergebnisse in der PowerShell 5.1, liegt die Ursache fast immer am bereits erwähnten Alias-Problem. Verwenden Sie deshalb konsequent curl.exe statt nur curl, um sicherzugehen, dass tatsächlich das echte curl-Programm ausgeführt wird.
Schlägt ein Download mit einer Zeitüberschreitung fehl, kann außerdem eine restriktive Firewall oder ein Proxy-Server die Verbindung blockieren. Nutzen Sie in diesem Fall den Parameter --proxy, um die Proxy-Adresse manuell anzugeben.
Häufige Fragen zur Nutzung von curl unter Windows
Funktioniert curl unter Windows 10 genauso wie unter Windows 11?
Ja, curl verhält sich unter Windows 10 und Windows 11 nahezu identisch, da beide Systeme dieselbe integrierte Version mitbringen. Lediglich die genaue vorinstallierte Versionsnummer kann sich je nach Windows-Build leicht unterscheiden.
Warum liefert curl in der PowerShell andere Ergebnisse als in cmd?
Der Grund liegt am erwähnten Alias in der PowerShell 5.1, der curl-Befehle an Invoke-WebRequest weiterleitet. Verwenden Sie stattdessen curl.exe, erhalten Sie in beiden Shells identische Ergebnisse.
Muss ich curl unter Windows zusätzlich installieren?
Nein, ab Windows 10 Version 1803 ist curl bereits fest im System integriert. Eine Installation ist somit nur nötig, wenn Sie eine neuere Version oder zusätzliche Funktionen benötigen.
Wie finde ich heraus, welche curl-Version installiert ist?
Öffnen Sie ein Terminal und geben Sie curl --version ein. Anschließend zeigt Windows die installierte Versionsnummer sowie die unterstützten Protokolle direkt an.
Kann ich curl auch in Batch-Dateien verwenden?
Ja, curl lässt sich problemlos in .bat-Dateien einbinden, wodurch sich beispielsweise regelmäßige Downloads automatisieren lassen. Achten Sie dabei lediglich auf die korrekte Escape-Syntax für Sonderzeichen wie Anführungszeichen.
Was ist der Unterschied zwischen curl und Invoke-WebRequest?
Invoke-WebRequest ist ein natives PowerShell-Cmdlet mit eigener Syntax, während curl ein plattformübergreifendes Tool mit einheitlichen Parametern ist. Wer bereits curl-Erfahrung von Linux mitbringt, findet sich deshalb schneller in curl zurecht.
Wie lade ich mehrere Dateien gleichzeitig mit curl herunter?
Geben Sie einfach mehrere URLs hintereinander an, jeweils mit einem eigenen -O-Parameter versehen. Ein Beispiel dafür lautet: curl -O URL1 -O URL2.
Warum erscheint bei curl-Befehlen manchmal ein Zertifikatsfehler?
Solche Fehler entstehen üblicherweise durch veraltete Root-Zertifikate oder eine falsch konfigurierte Systemzeit. Ein Windows-Update sowie die Korrektur der Systemuhr beheben das Problem meist zuverlässig.
Lässt sich curl auch für API-Tests unter Windows verwenden?
Ja, gerade für API-Tests eignet sich curl hervorragend, da sich Header, Methoden sowie Anfragedaten flexibel definieren lassen. Zudem lassen sich curl-Befehle unkompliziert in Skripte zur automatisierten Testung integrieren.
