Konwerter cURL

Krok 1 / 4Konwerter cURL

Wklej polecenie cURL

Maksymalnie 256 KiB, 4096 tokenów powłoki, 200 nagłówków i 128 KiB treści.

Zamień polecenie cURL w stylu POSIX na kod Fetch dla przeglądarki lub Node.js, Python Requests albo PHP cURL bez wykonywania żądania. Konwerter rozpoznaje popularne metody, powtarzające się nagłówki, treść podaną w poleceniu, pola kodowane do adresu URL, uwierzytelnianie podstawowe, pliki cookie, tekstowe pola multipart, przekierowania i kompresję. Blokuje opcje odczytu plików, certyfikatów, serwerów proxy i zapisu danych, a przed wygenerowaniem kodu dokładnie pokazuje wynik analizy. Polecenia do 256 KiB pozostają w przeglądarce.

Jak to działa

  1. 1

    Wklej polecenie

    Dodaj jedno polecenie cURL w stylu POSIX. Cudzysłowy powłoki i zmiany wiersza z symbolem ucieczki są analizowane lokalnie, ale nie są wykonywane.

  2. 2

    Sprawdź żądanie

    Sprawdź adres URL, metodę, nagłówki, treść, pola formularza, ostrzeżenia i zablokowane opcje.

  3. 3

    Wybierz język docelowy

    Wygeneruj kod Fetch dla przeglądarki lub Node.js, Python Requests albo PHP cURL, a następnie skopiuj go lub pobierz.

Co zachowuje konwerter

Parser stosuje typowe reguły cytowania powłoki POSIX do pojedynczego polecenia cURL. Obsługuje -X/--request, wielokrotne -H/--header, -d/--data/--data-raw, --data-urlencode, -u/--user, -b/--cookie, tekstowe pola -F/--form, -L i --compressed. Linie połączone symbolem ucieczki są scalane przed tokenizacją. Oficjalna dokumentacja cURL wskazuje, że opcje nagłówków i formularza mogą się powtarzać. Konwerter zachowuje ich kolejność i ostrzega, gdy biblioteka docelowa może scalić powtarzające się nazwy.

Dane wejściowe cURL Wygenerowany odpowiednik Ważne ograniczenie
-H 'Name: value' Zbiór nagłówków języka docelowego Powtarzające się nazwy mogą zostać scalone
-d 'a=1' Tekstowa treść żądania Wiele wartości jest łączonych znakiem &
--data-urlencode 'q=a b' Treść zakodowana procentowo Warianty korzystające z plików są blokowane
-F 'name=value' Tekstowe pole multipart @file i <file są blokowane
-L Opcja śledzenia przekierowań Bezpieczeństwo nadal zależy od środowiska wykonawczego

Fetch w przeglądarce nie może ustawiać niektórych zabronionych nagłówków żądania, w tym Cookie. Gdy występuje ciąg plików cookie, kod przeglądarki używa credentials: "include" i ostrzega, że nie jest to dokładny zamiennik. MDN opisuje Fetch jako przeglądarkowy interfejs żądań sieciowych. Wygenerowany kod jest tylko punktem wyjścia: nadal obowiązują zasady CORS, poświadczenia, przekierowania i polityka serwera.

Granice bezpieczeństwa

Konwerter nigdy nie wykonuje polecenia ani nie łączy się z jego adresem URL. Blokuje opcje odczytu lub wysyłania lokalnych plików, wybierania certyfikatów klienta, konfigurowania proxy, specjalnego rozwiązywania nazw hostów i zapisywania danych transferu. Dotyczy to wartości @file w treści lub nagłówkach, --upload-file, opcji certyfikatu i klucza, opcji proxy oraz opcji wyjścia, konfiguracji i śledzenia. Nieobsługiwane lub nieznane opcje są blokowane, a ich znaczenie nie jest zgadywane.

Wygenerowany kod może nadal zawierać dane poufne. Przed zapisaniem lub udostępnieniem sprawdź wartości uwierzytelniania podstawowego, pliki cookie i nagłówki autoryzacji. Dla języka Python kod jest zgodny z konwencjami API Requests dotyczącymi metody, nagłówków, uwierzytelniania i limitu czasu. Kod PHP używa curl_setopt_array; dokumentacja PHP wyjaśnia, jak każda wartość CURLOPT_* konfiguruje uchwyt transferu.

Prywatność i ograniczenia

Analiza i generowanie odbywają się w Alpine w tej przeglądarce. Polecenie, przeanalizowane żądanie i kod nigdy nie stają się właściwościami naszych serwerów ani nie trafiają do adresu URL lejka. W czteroetapowym procesie polecenie i wybrany cel są przechowywane do dwóch godzin w IndexedDB powiązanym z kartą; rozpoczęcie od nowa usuwa rekord. Limity 4096 tokenów, 200 nagłówków i 128 KiB treści zapobiegają nieograniczonej analizie. Narzędzie obsługuje jeden adres HTTP lub HTTPS i nie emuluje pełnej powłoki ani wszystkich opcji cURL.

Najczęściej zadawane pytania

Nie. Dzieli tekst na tokeny i tłumaczy go lokalnie. Nigdy nie wysyła żądania, nie rozwiązuje nazwy hosta, nie otwiera proxy ani nie odczytuje wskazanego pliku.

Opcje plików, certyfikatów, proxy, niestandardowego rozwiązywania nazw, wyjścia i śledzenia mogą przekroczyć bezpieczną granicę przetwarzania tekstu. Konwerter blokuje je, zamiast udawać równoważność kodu.

JavaScript w przeglądarce nie może bezpośrednio ustawić nagłówka Cookie. Kod używa credentials: include, co wysyła istniejące pliki cookie przy dozwolonym żądaniu same-site lub CORS.

Nie. Polecenia pozostają w pamięci przeglądarki, a podczas lejka tymczasowo w IndexedDB. Wygenerowany kod może jednak zawierać te same dane poufne; usuń je przed udostępnieniem lub zatwierdzeniem kodu.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach