Zamiana polecenia curl na kod fetch, Node, Python, PowerShell lub HTTPie
Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane.Polecenie curl skopiowane z dokumentacji trzeba przepisać, zanim zadziała w kodzie. To narzędzie zamienia je na fetch, Node, Python, PowerShell lub HTTPie, 5 celów, bez zmiany nagłówków i treści żądania. Polecenie pozostaje w przeglądarce, więc token bearer nigdy nie jest wysyłany.
Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał
Wklej polecenie curl w pole Polecenie curl albo wybierz jedno w sekcji "Lub zacznij od typowego polecenia".
Wybierz język w sekcji "Konwertuj na": fetch (przeglądarka), fetch (Node.js), Python requests, PowerShell lub HTTPie.
Sprawdź podsumowanie pod polem z metodą, adresem URL, liczbą nagłówków i typem treści oraz przeczytaj ostrzeżenia.
Kliknij Kopiuj lub naciśnij Ctrl+Enter albo użyj przycisku pobierania, aby zapisać kod w pliku.
Po wklejeniu polecenia curl powstaje to samo żądanie zapisane jako fetch dla przeglądarki, fetch dla Node, Python requests, Invoke-RestMethod w PowerShell lub HTTPie. Polecenie jest dzielone tak, jak zrobiłaby to powłoka, więc wartości w cudzysłowach, znaki ucieczki i wiersze łączone ukośnikiem wstecznym, daszkiem lub grawisem są zachowane.
Obsługiwane są opcje, które naprawdę się wkleja: -X, -H, -d i każdy wariant --data, --data-urlencode, --json, -u, -F i --form, -G, --compressed, -k, -b, -A, -e, -L, -I, -T, -x oraz --max-time. Treść JSON jest zapisywana jako prawdziwy obiekt, a nie długi ciąg, formularz staje się FormData lub files=, a -G przenosi dane do ciągu zapytania bez podwójnego kodowania.
Gdy cel nie potrafi zrobić tego, co robił curl, wygenerowany kod o tym mówi, zamiast po cichu tworzyć coś błędnego. Strona nie może wyłączyć sprawdzania certyfikatów ani ustawić nagłówka Cookie, więc stają się one komentarzami. Przesyłanie multipart usuwa jawny Content-Type, bo tylko biblioteka zna separator. Opcje PowerShell wymagające wersji 6 są oznaczone.
Nic nie jest wykonywane i żadne żądanie nie jest wysyłane. Parser i wszystkie generatory działają na tej stronie, co ma znaczenie, bo wklejone polecenie zwykle zawiera aktywny token bearer, ciasteczko sesji lub hasło. Pozostaje ono w przeglądarce. Mimo to przed umieszczeniem wygenerowanego kodu w repozytorium sekret należy zastąpić zmienną środowiskową.
Należy wkleić całe polecenie, zaczynając od słowa curl, i wybrać fetch. Nagłówki stają się obiektem, -d staje się treścią, treść JSON jest zapisywana przez JSON.stringify z rozpisanym obiektem, a -u staje się nagłówkiem Authorization zbudowanym przez btoa. Wynik można skopiować jednym kliknięciem.
Nie. Parser i wszystkie generatory kodu to JavaScript działający na tej stronie, a narzędzie nie wysyła żadnych żądań sieciowych. Nic, co zostanie wklejone, nie jest przesyłane, rejestrowane ani zapisywane. Mimo to przed zatwierdzeniem wygenerowanego kodu sekret należy zastąpić zmienną środowiskową.
Nigdy. Polecenie jest tylko odczytywane jako tekst i dzielone tak, jak zrobiłaby to powłoka. Żadne żądanie nie jest wysyłane, żaden plik nie jest otwierany i nic nie jest wykonywane, więc można bezpiecznie wkleić polecenie, którego jeszcze dokładnie nie przeczytano.
W Windows PowerShell curl jest aliasem Invoke-WebRequest, które przyjmuje zupełnie inne argumenty, więc -H i -d są rozumiane zupełnie inaczej. Warto przekonwertować tu polecenie na PowerShell, aby otrzymać prawdziwe wywołanie Invoke-RestMethod, albo zainstalować curl.exe i wywoływać go pełną nazwą.
Opcja --json to skrót dodany w curl 7.82 dla trzech rzeczy naraz: wysłania tekstu jako treści, dodania Content-Type: application/json i dodania Accept: application/json. Ten konwerter ją rozwija, więc wygenerowany kod pokazuje oba nagłówki jawnie.
Tak. Wystarczy kliknąć prawym przyciskiem żądanie na karcie Network i wybrać Copy as cURL. Takie polecenia używają --data-raw, --compressed i długiej listy nagłówków małymi literami i często są jednym bardzo długim wierszem lub kilkoma połączonymi ukośnikami wstecznymi. Wszystko to jest obsługiwane, łącznie z formą $'...', której Chrome używa, gdy wartość zawiera znaki nowego wiersza.
Nadal coś nie działa? Zapytaj o narzędzie Konwerter curl a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.