curl in OCaml konvertieren
Konvertieren Sie curl-Befehle in OCaml-Code unter Verwendung von Cohttp. curl2code läuft vollständig in Ihrem Browser via WebAssembly – Ihre Daten bleiben privat. Für Rust testen Sie unseren curl zu Rust Konverter. Für Elixir siehe curl zu Elixir. Unten finden Sie sofort einsatzbereite OCaml-Beispiele.
So kopieren Sie curl aus Ihrem Browser
- 1
DevTools öffnen
Drücken Sie F12 oder Ctrl+Shift+I, um die Entwicklertools Ihres Browsers zu öffnen.
- 2
Zum Reiter Netzwerk gehen
Klicken Sie auf den Reiter Netzwerk und führen Sie die Aktion aus, die den HTTP-Request auslöst.
- 3
Als cURL kopieren
Rechtsklick auf den Request → Kopieren → Als cURL kopieren. Dann oben einfügen.
Häufig gestellte Fragen (FAQ)
Was ist OCaml Cohttp?
Cohttp ist die Standard-HTTP-Client- und Server-Bibliothek für OCaml. Sie unterstützt sowohl Lwt (leichtgewichtige Threads) als auch Async-Backends für konkurrierende E/A. Die Installation erfolgt über opam install cohttp-lwt-unix. Sie bietet eine typsichere, funktionale API für HTTP-Anfragen. curl2code verwendet Cohttp für alle OCaml-Konvertierungen.
Cohttp vs. ocurl vs. piaf — was sollte man verwenden?
Cohttp ist die Standard-HTTP-Bibliothek für OCaml mit Lwt/Async-Unterstützung. ocurl kapselt libcurl und bietet Zugriff auf alle curl-Funktionen aus OCaml heraus. piaf ist neuer und HTTP/2-nativ. Verwenden Sie Cohttp für idiomatisches OCaml und ocurl, wenn Sie curl-spezifische Funktionen benötigen. Für ähnliche funktionale Sprachen siehe curl zu Elixir oder curl zu Clojure.
Wie wird die Authentifizierung in OCaml gehandhabt?
Fügen Sie der Anfrage einen Authorization-Header hinzu: Header.add headers "Authorization" ("Bearer " ^ token). Für Basic-Auth kodieren Sie die Anmeldedaten mit dem base64-Paket in Base64. Cohttp-Header sind unveränderlich — erstellen Sie diese mit Header.of_list oder verketten Sie Header.add-Aufrufe.
Wie sendet man Multipart-Formulardaten in OCaml?
Konstruieren Sie den Multipart-Body manuell mit Boundary-Strings oder verwenden Sie eine Bibliothek wie multipart_form. Setzen Sie den Content-Type-Header inklusive der Boundary. Der Body von Cohttp ist ein einfacher String oder Stream — formatieren Sie den Multipart-Payload gemäß RFC 2046. curl2code übernimmt die Konvertierung des -F-Flags.
Wie geht man mit Fehlern bei HTTP-Anfragen in OCaml um?
Cohttp mit Lwt gibt Promises zurück — verwenden Sie die Syntax Lwt.catch oder try%lwt ... with für die Fehlerbehandlung. Überprüfen Sie den Antwort-Statuscode mit Response.status response. Das Typsystem von OCaml stellt sicher, dass Sie Fehlerfälle behandeln. Nutzen Sie Pattern Matching auf Statuscodes für eine erschöpfende Behandlung.
Wie führt man konkurrierende HTTP-Anfragen in OCaml aus?
Mit dem Lwt-Backend: Verwenden Sie Lwt.all [request1; request2] für die parallele Ausführung oder Lwt_list.map_p für das Mapping über URLs. Mit Async: Verwenden Sie Deferred.all. Die kooperative Nebenläufigkeit von OCaml über Lwt oder Async bietet sichere, effiziente konkurrierende E/A ohne Bedenken hinsichtlich der Threadsicherheit.
Wie setzt man Timeouts in OCaml?
Verwenden Sie mit Lwt Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout], um eine Anfrage gegen einen Timer laufen zu lassen. Cohttp hat keine eingebauten Timeout-Optionen — umschließen Sie das Lwt-Promise mit einem Timeout-Kombinator. Implementieren Sie für Retries eine rekursive Funktion mit abnehmender Anzahl an Versuchen.
Wie verwendet man einen Proxy in OCaml?
Cohttp bietet keine integrierte Proxy-Unterstützung. Verwenden Sie ocurl (libcurl-Bindings) für Proxy-Anforderungen: Setzen Sie die Option CURLOPT_PROXY. Alternativ können Sie die Umgebungsvariable HTTP_PROXY setzen und die Verbindung manuell so konfigurieren, dass sie über den Proxy-Host und -Port geroutet wird.
Wie sendet man eine POST-Anfrage mit JSON-Body in OCaml?
Konvertieren Sie einen curl POST Befehl wie curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL mit curl2code nach OCaml. Der generierte Code verwendet Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code erkennt automatisch -d/--data Flags mit JSON Inhalt und setzt den entsprechenden Content-Type Header im Cohttp Code.
Wie fügt man eine Bearer Token Autorisierung in OCaml hinzu?
Übergeben Sie curl -H "Authorization: Bearer YOUR_TOKEN" URL an curl2code und es generiert Cohttp Code mit dem Auth Header: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code erkennt Bearer Tokens sowohl in -H "Authorization: Bearer ..." als auch in --oauth2-bearer Flags. Für Basic auth verwenden Sie -u user:pass.
Wie setzt man den Content-Type Header in OCaml?
curl2code konvertiert curl -H "Content-Type: application/json" URL in Cohttp Code mit dem richtigen Header: Header.add headers 'Content-Type' 'application/json'. Bei -d Daten verwendet curl standardmäßig application/x-www-form-urlencoded; bei -F Formular-Uploads wird multipart/form-data verwendet. curl2code ordnet beides der korrekten Cohttp API zu.
Nützliche Links
curl-Anleitungen
curl-Fehlercodes
Jeden curl-Exit-Code nachschlagen — Ursachen, Lösungen und Debugging-Tipps.
Dateien mit curl herunterladen
Dateien mit -o, -O speichern, Weiterleitungen folgen, Downloads fortsetzen und mehr.
SSL, TLS & Proxy
Zertifikate, TLS-Versionen, HTTP/SOCKS-Proxys und benutzerdefiniertes DNS konfigurieren.