Konwerter cURL: cURL na fetch, Python, Axios i inne

Wklej polecenie curl, np. skopiowane z DevTools przeglądarki, i otrzymaj gotowy do uruchomienia kod w 8 językach. Nagłówki, treści JSON, formularze, przesyłanie plików, uwierzytelnianie i cookies są konwertowane.

Działa w przeglądarceBez rejestracjiNic nie jest wysyłane

Konwertuj na
JavaScript fetch

    

    Jak używać: Konwerter cURL

    1. Skopiuj żądanie jako cURL: w DevTools Chrome lub Firefoksa kliknij prawym przyciskiem żądanie na karcie Network → Copy → Copy as cURL.
    2. Wklej je do pola wejściowego. Obsługiwane są polecenia wielowierszowe z \, kontynuacje Windows ^ i ciągi $'…'.
    3. Wybierz cel: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP lub HTTPie.
    4. Przeczytaj ostrzeżenia pod wynikiem. Wymieniają opcje, które nie mają odpowiednika w docelowym języku.
    5. Skopiuj kod lub pobierz go jako plik.

    Po co konwertować polecenia curl na kod?

    curl to wspólny język HTTP. Dokumentacje API pokazują przykłady jako curl, DevTools przeglądarek eksportują żądania jako curl, a zespoły wsparcia wysyłają reprodukcje błędów jako curl. Gdy chcesz mieć takie żądanie w aplikacji, musisz je przepisać ręcznie: przenieść każde -H do obiektu nagłówków, zamienić -d na treść żądania, -u na basic auth i pamiętać, że -G przenosi dane do query stringa. Ten konwerter robi to za Ciebie i generuje kod, który możesz wkleić prosto do projektu.

    Obsługiwane opcje curl

    OpcjaKonwertowana na
    -X, -I, -GMetodę HTTP (POST jest przyjmowany, gdy jest treść)
    -H, -A, -e, -bNagłówki, User-Agent, Referer i cookies
    -d, --data-raw, --data-binary, --data-urlencode, --jsonTreść żądania: obiekty JSON, pola formularza lub surowy tekst
    -FDane formularza multipart, w tym przesyłanie @file
    -u, --oauth2-bearerBasic auth lub token Bearer
    -k, -L, -m, -x, --compressedWeryfikację TLS, przekierowania, timeout, proxy i kompresję

    Treści JSON stają się prawdziwymi obiektami

    Gdy żądanie wysyła JSON (nagłówek Content-Type: application/json, --json lub treść, która parsuje się jako JSON), konwerter generuje natywne struktury danych zamiast escapowanego ciągu: JSON.stringify({...}) dla fetch, zwykły obiekt dla Axios oraz json= ze słownikiem Pythona (True, False, None) dla requests i httpx. Dzięki temu payload łatwo edytować i uzupełniać zmiennymi.

    Różnice, o których warto pamiętać

    Przeglądarki nie pozwalają wyłączyć sprawdzania certyfikatów ani kierować pojedynczego żądania przez proxy, więc -k i -x pojawiają się w kodzie fetch tylko jako komentarze. curl nie podąża za przekierowaniami bez -L, a fetch, requests i Go robią to domyślnie. Treść wysłana przez -d bez Content-Type jest przez curl kodowana jako formularz; jeśli wygląda na JSON, konwerter wysyła ją jako JSON i informuje o tym w ostrzeżeniu.

    Najczęściej zadawane pytania

    Czy moje polecenie curl jest wysyłane na serwer?
    Nie. Parsowanie i generowanie kodu działają w całości w przeglądarce. Polecenia skopiowane z DevTools często zawierają cookies i tokeny, dlatego nic nie jest wysyłane ani przechowywane.
    Jak skopiować żądanie jako cURL w Chrome?
    Otwórz DevTools (F12), przejdź na kartę Network, kliknij prawym przyciskiem żądanie i wybierz Copy → Copy as cURL (bash). Wariant cmd dla Windows również tu działa.
    Czy obsługiwane jest przesyłanie plików?
    Tak. -F name=@file staje się FormData w JavaScripcie, słownikiem files= w Pythonie, mime/multipart w Go i CURLFile w PHP. -d @file i -T file wczytują treść żądania z pliku.
    Co się dzieje z opcjami, których konwerter nie zna?
    Są wymieniane jako ostrzeżenia pod wynikiem, więc nic nie ginie po cichu. Flagi dotyczące tylko wyjścia, np. -s, -v czy -o, są ignorowane, bo nie zmieniają żądania.
    Używać w Pythonie requests czy httpx?
    requests to od lat domyślny wybór dla skryptów synchronicznych. httpx ma niemal identyczne API, dodaje HTTP/2 i obsługę async oraz nie podąża za przekierowaniami, jeśli o to nie poprosisz, co lepiej odpowiada zachowaniu curl.

    Powiązane narzędzia