Wklej komendę cURL, dostań to samo zapytanie w 10 językach
Znalazłeś przykład API w dokumentacji albo skopiowałeś zapytanie z panelu Network w przeglądarce i wyszła z tego długa, straszna komenda `curl`. Ty nie piszesz w shellu, piszesz w JavaScripcie, Pythonie, Go, PHP, Ruby, Ruście. Potrzebujesz tego samego wywołania w swoim języku i potrzebujesz go teraz.
Ten konwerter robi dokładnie to. Wklej komendę cURL na górze (jedna linia albo wiele linii z `\` w Uniksie albo `^` w Windowsie) i poniżej, w wybranej zakładce, pojawia się czysty, gotowy do uruchomienia kawałek kodu. Obsługuje flagi, których realnie używa się w cURL: `-X`, `-H`, `-d` / `--data-raw` / `--data-urlencode`, `-F` multipart, `-u` basic auth, `-A` user-agent, `-b` cookies, `-G` GET-z-body-jako-query, `-L` follow redirects, `-k` insecure, `--compressed` i `--max-time`.
Wynik obejmuje JavaScript fetch, axios, Node fetch, Python requests, Python httpx, Go net/http, PHP Guzzle, Ruby Net::HTTP, Rust reqwest oraz uporządkowany cURL dla przypadków, gdy oryginał był rozjechany. Wybierz zakładkę, skopiuj, wklej w swój kod. Cały parsing dzieje się w przeglądarce, bez uploadu, bez analityki na URL-u, który wpisałeś.
Jak używać
- Wklej komendę cURL w pole wejściowe. Domyślny przykład pokazuje najczęstszy przypadek: `POST` z JSON body i nagłówkiem Authorization. Podmień na to, co masz.
- Wieloliniowe komendy z `\` na końcu linii (shell uniksowy) albo `^` na końcu linii (Windows `cmd.exe`) są łączone automatycznie. Możesz wkleić tekst z tutoriala bez wcześniejszego czyszczenia.
- Wybierz zakładkę języka na górze: fetch, axios, Node fetch, Python requests, Python httpx, Go, PHP, Ruby, Rust albo cURL przepisany. Panel wyjściowy odświeża się od razu, bez przycisku Konwertuj.
- Kliknij Kopiuj w prawym górnym rogu panelu wyjściowego. Snippet ląduje w schowku, gotowy do wklejenia w edytor. Przycisk pokazuje ptaszka przez sekundę, żebyś wiedział, że się udało.
- Jeśli parser napotkał flagi, których nie rozumie, poniżej wyjścia pojawi się żółty panel ostrzeżeń. Przeczytaj go: zwykle to flaga, która wpływa tylko na wyjście shellowe (`-s`, `-v`, `-o plik`) i możesz ją zignorować. Jeśli jednak dotyczy samego zapytania, dopisz to ręcznie.
- Edytuj cURL na bieżąco: zmień nagłówek, podmień `POST` na `PUT`, wyrzuć pole z JSON body, wynik regeneruje się przy każdym znaku. Szybciej niż ponowne uruchamianie konwertera.
- Użyj zakładki cURL jako normalizatora. Wklej rozjechaną wieloliniową komendę, skopiuj wynik z zakładki cURL z powrotem i masz wersję na jeden ekran z jednolitym cudzysłowem.
Kiedy się przydaje
Siedem momentów, w których przepisanie komendy cURL na realny kod ręcznie zajęłoby więcej niż reszta ficzera:
- Skopiuj z przeglądarki, wklej do kodu. Prawy klik na zapytaniu w DevTools Chrome / Firefox → Copy as cURL, wklej tutaj, wybierz język, skopiuj. Zapytanie, które widziałeś w karcie Network, jest teraz działającym snippetem w JavaScripcie, Pythonie albo Go, z dokładnie tymi samymi nagłówkami i body.
- Tłumaczenie przykładu z dokumentacji API. Dokumentacja pokazuje tylko `curl`. Tobie potrzeba Python requests do backendu w Django albo Ruby Net::HTTP do kontrolera w Railsach. Jedno wklejenie, przełącz zakładkę, skopiuj. Oszczędza 20 minut "jak to było z auth w requests?".
- Odtwarzanie zapytania z Postmana / Insomnia. Oba narzędzia mają menu "Copy as cURL". Użyj tego, żeby wpaść do realnego kodu, który możesz scommitować, zamiast trzymać wywołanie zamknięte w GUI, które tylko Ty masz zainstalowane.
- Podzielenie się działającym wywołaniem z zespołem. Pyta: "jak walnąć w staging API z Node'owego skryptu?". Masz komendę cURL, która u Ciebie działa. Konwertuj na Node fetch albo axios i wklej na Slacku, on uruchamia od ręki.
- Migracja z jednej biblioteki HTTP na drugą. Kod miesza `requests` i `httpx` albo `fetch` i `axios`. Wklej istniejące wywołanie jako cURL, skopiuj wersję dla nowej biblioteki, podmień. Mechaniczna robota, która inaczej zatrzymuje PR z refaktorem.
- Reverse-engineering nieudokumentowanego endpointa. Otworzyłeś stronę, podejrzałeś wywołania, skopiowałeś interesujące jako cURL. Konwerter wycina `-v`, `-s`, `-o` i daje czysty snippet, który wrzucasz w scraper.
- Onboarding w nowym API. Czytanie 10 stron dokumentacji jest wolne. Wklejanie przykładowych komend i obserwowanie, jak rozkłada się body w różnych językach, uczy API szybciej niż referencyjny tekst.