Konwertuj curl na OCaml

Konwertuj polecenia curl na kod OCaml przy użyciu Cohttp. curl2code działa w całości w przeglądarce poprzez WebAssembly — Twoje dane pozostają prywatne. Do programowania w Rust wypróbuj nasz konwerter curl na Rust. W przypadku Elixir, zobacz curl na Elixir. Poniżej znajdują się gotowe do użycia przykłady w OCaml.

Jak skopiować polecenie curl z przeglądarki

  1. 1

    Otwórz DevTools

    Naciśnij F12 lub Ctrl+Shift+I, aby otworzyć narzędzia programistyczne przeglądarki.

  2. 2

    Przejdź do karty Sieć

    Kliknij kartę Sieć i wykonaj akcję, która wywołuje żądanie HTTP.

  3. 3

    Kopiuj jako cURL

    Kliknij żądanie prawym przyciskiem myszy → KopiujKopiuj jako cURL. Następnie wklej je powyżej.

Najczęściej zadawane pytania

Czym jest OCaml Cohttp?

Cohttp to standardowa biblioteka klienta i serwera HTTP dla języka OCaml. Obsługuje backendy Lwt (lekkie wątki) oraz Async dla współbieżnego we/wy. Zainstaluj ją za pomocą opam install cohttp-lwt-unix. Zapewnia bezpieczne pod względem typów, funkcyjne API dla żądań HTTP. curl2code używa Cohttp we wszystkich konwersjach na OCaml.

Cohttp vs ocurl vs piaf — którego użyć?

Cohttp to standardowa biblioteka HTTP w OCaml ze wsparciem dla Lwt/Async. ocurl to wrapper dla libcurl, dający dostęp do wszystkich funkcji curl z poziomu OCaml. piaf jest nowszy i natywnie obsługuje HTTP/2. Użyj Cohttp dla idiomatycznego kodu OCaml, a ocurl, gdy potrzebujesz specyficznych funkcji curl. Dla podobnych języków funkcyjnych zobacz curl do Elixir lub curl do Clojure.

Jak obsługiwać uwierzytelnianie w OCaml?

Dodaj nagłówek Authorization do żądania: Header.add headers "Authorization" ("Bearer " ^ token). W przypadku Basic auth zakoduj dane uwierzytelniające w base64, używając pakietu base64. Nagłówki Cohttp są niemutowalne — twórz je za pomocą Header.of_list lub łącząc wywołania Header.add.

Jak wysyłać dane multipart form data w OCaml?

Skonstruuj ciało multipart ręcznie z ciągami boundary lub użyj biblioteki takiej jak multipart_form. Ustaw nagłówek Content-Type wraz z boundary. Ciało w Cohttp to prosty ciąg znaków lub strumień — sformatuj ładunek multipart zgodnie z RFC 2046. curl2code obsługuje konwersję flagi -F.

Jak obsługiwać błędy w żądaniach HTTP w OCaml?

Cohttp z Lwt zwraca obietnice (promises) — użyj składni Lwt.catch lub try%lwt ... with do obsługi błędów. Sprawdź kod statusu odpowiedzi za pomocą Response.status response. System typów OCaml zapewnia obsługę przypadków niepowodzenia. Użyj dopasowania wzorca (pattern matching) na kodach statusu dla wyczerpującej obsługi.

Jak wykonywać współbieżne żądania HTTP w OCaml?

Z backendem Lwt: użyj Lwt.all [request1; request2] dla równoległego wykonania lub Lwt_list.map_p do mapowania adresów URL. Z Async: użyj Deferred.all. Współbieżność kooperatywna OCaml poprzez Lwt lub Async zapewnia bezpieczne i wydajne we/wy bez obaw o bezpieczeństwo wątków.

Jak ustawić limity czasu (timeouts) w OCaml?

W Lwt użyj Lwt.pick [request; Lwt_unix.sleep timeout >>= fun () -> Lwt.fail Timeout], aby przeprowadzić wyścig żądania z timerem. Cohttp nie ma wbudowanych opcji timeout — owiń obietnicę Lwt kombinatorem limitu czasu. W przypadku ponowień (retries) zaimplementuj funkcję rekurencyjną ze zmniejszającą się liczbą prób.

Jak używać proxy w OCaml?

Cohttp nie posiada wbudowanej obsługi proxy. Użyj ocurl (bindingi libcurl) dla potrzeb proxy: ustaw opcję CURLOPT_PROXY. Alternatywnie ustaw zmienną środowiskową HTTP_PROXY i ręcznie skonfiguruj połączenie, aby przechodziło przez host i port proxy.

Jak wysłać żądanie POST z ciałem JSON w języku OCaml?

Konwertuj polecenie curl POST, takie jak curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL na kod OCaml za pomocą curl2code. Wygenerowany kod używa Client.post ~body:(Cohttp_lwt.Body.of_string json) uri. curl2code automatycznie wykrywa flagi -d/--data z zawartością JSON i ustawia odpowiedni nagłówek Content-Type w kodzie Cohttp.

Jak dodać autoryzację Bearer token w języku OCaml?

Przekaż curl -H "Authorization: Bearer YOUR_TOKEN" URL do curl2code, a narzędzie wygeneruje kod Cohttp z nagłówkiem autoryzacji: Header.add headers 'Authorization' 'Bearer YOUR_TOKEN'. curl2code wykrywa tokeny Bearer zarówno z flag -H "Authorization: Bearer ...", jak i --oauth2-bearer. W przypadku Basic auth użyj -u user:pass.

Jak ustawić nagłówek Content-Type w języku OCaml?

curl2code konwertuje curl -H "Content-Type: application/json" URL na kod Cohttp z właściwym nagłówkiem: Header.add headers 'Content-Type' 'application/json'. Dla danych -d curl domyślnie ustawia application/x-www-form-urlencoded; dla przesyłania formularzy -F używa multipart/form-data. curl2code mapuje każde z nich na odpowiednie API Cohttp.

Przydatne linki

Poradniki curl

Konwertuj curl na inne języki