tigtools

Konwerter cURL na kod

Wklej polecenie curl, na przykład skopiowane z narzędzi deweloperskich przeglądarki lub dokumentacji API, a otrzymasz równoważny kod w wybranym języku.

Działa w przeglądarce Bez rejestracji

Język

Jak używać

  1. Skopiuj żądanie jako curl, na przykład z narzędzi deweloperskich przeglądarki (karta Sieć, prawy przycisk myszy, Copy as cURL) lub z dokumentacji API.
  2. Wklej je w pole. Kontynuacje linii za pomocą \ są akceptowane.
  3. Wybierz JavaScript fetch, Node.js axios, Python requests lub PHP cURL.
  4. Przeczytaj uwagi pod kodem, a następnie skopiuj lub pobierz wynik.

Jak to działa

Konwerter najpierw dzieli polecenie na słowa tak, jak robi to powłoka POSIX: obsługiwane są pojedyncze cudzysłowy, podwójne cudzysłowy z sekwencjami ucieczki z ukośnikiem odwrotnym, napisy $'…' oraz kontynuacje linii z ukośnikiem odwrotnym. Zmienne powłoki, takie jak $TOKEN, nie są rozwijane; pozostają jako tekst.

Obsługiwane opcje curl: URL (lub --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form i --form-string (pola i wysyłanie plików @file z ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (łańcuchy cookie), -L/--location i --compressed. Krótkie opcje można łączyć, jak w -sSL, a wartości można dołączać, jak w -XPOST.

Zasady są zgodne z curl: kilka wartości -d jest łączonych znakiem &; dane sprawiają, że żądanie staje się POST, chyba że -X lub -G stanowi inaczej; -G dołącza dane do adresu URL jako ciąg zapytania; --json ustawia nagłówki Content-Type i Accept na application/json. Gdy treść to JSON i wskazuje na to Content-Type, kod wysyła prawdziwy obiekt (json= w Pythonie, tablicę przez json_encode w PHP) zamiast tekstu z sekwencjami ucieczki. W przypadku formularzy multipart nagłówek Content-Type pozostaje po stronie biblioteki, aby boundary był poprawny.

Opcja -k/--insecure jest celowo ignorowana, a wyjaśnia to odpowiednia uwaga. Opcje, które zmieniają wyłącznie własne wyjście curl (-s, -S, -v, -i, -o, --fail i podobne), są ignorowane z odpowiednią uwagą. Każda inna opcja powoduje czytelny błąd z jej nazwą, zamiast kodu, który po cichu działa inaczej. Pozostaje jedna różnica: curl podąża za przekierowaniami tylko z -L, natomiast fetch, axios i requests robią to domyślnie; kod PHP podąża za nimi tylko wtedy, gdy podano -L.

Narzędzie tylko generuje kod. Nigdy nie wysyła żądania, więc tokeny i hasła z polecenia nie są nigdzie używane.

Przykłady

Odtwarzanie żądania przeglądarki w Pythonie

Skopiuj nieudane wywołanie API z karty Sieć w Chrome jako cURL i przekształć je na kod Python requests. Nagłówki, pliki cookie i treść JSON zostaną przeniesione, dzięki czemu możesz odtworzyć błąd w skrypcie.

Korzystanie z dokumentacji API w Node.js

Dokumentacja API pokazuje „curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. Wersja dla axios używa auth: { username: "key", password: "" } oraz treści zakodowanej jako formularz.

Przesyłanie pliku w PHP

„curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” staje się CURLOPT_POSTFIELDS z new CURLFile('invoice.pdf', 'application/pdf') oraz polem note.

Często zadawane pytania

Czy to narzędzie wysyła moje żądanie?

Nie. To narzędzie tylko analizuje tekst polecenia i generuje kod. Żadne żądanie nie jest wysyłane, więc klucze API ani pliki cookie zawarte w poleceniu nie są używane ani przechowywane.

Dlaczego opcja -k/--insecure nie jest przekształcana?

Wyłączenie weryfikacji certyfikatów naraża połączenie na przechwycenie. Wygenerowany kod pozostawia weryfikację certyfikatów włączoną; jeśli certyfikat serwera nie jest zaufany, popraw certyfikat lub magazyn zaufanych certyfikatów.

Dlaczego widzę komunikat „opcja nie jest obsługiwana”?

Konwerter tłumaczy tylko opcje, których znaczenie może dokładnie odwzorować. Serwery proxy, certyfikaty klienta, pliki cookie i podobne opcje są odrzucane, aby wygenerowany kod nie działał inaczej niż curl.

Czy działa z poleceniami Windows cmd?

Polecenia skopiowane jako „cURL (bash)” działają najlepiej. Wiersz polecenia Windows cmd używa znaku ^ do kontynuacji linii i ma inne zasady cytowania; znak ^ na końcu linii jest akceptowany, ale inne sekwencje ucieczki cmd mogą nie być obsługiwane.

Prywatność

Polecenie jest analizowane tylko w Twojej przeglądarce i żadne żądanie nie jest wysyłane. Nic nie jest przesyłane, zapisywane ani uwzględniane w statystykach.