Cum se folosește
- Copiați o cerere ca curl, de exemplu din instrumentele pentru dezvoltatori ale browserului (fila Rețea, clic dreapta, Copiere ca cURL) sau din documentația API.
- Lipiți-o în casetă. Continuările de linie cu \ sunt acceptate.
- Alegeți JavaScript fetch, Node.js axios, Python requests sau PHP cURL.
- Citiți eventualele note de sub cod, apoi copiați sau descărcați rezultatul.
Cum funcționează
Convertorul întâi împarte comanda în cuvinte așa cum o face un shell POSIX: sunt înțelese ghilimelele simple, ghilimelele duble cu caractere de escape cu backslash, șirurile $'…' și continuările de linie cu backslash. Variabilele de shell precum $TOKEN nu sunt expandate; rămân ca text.
Opțiunile curl acceptate: URL-ul (sau --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form și --form-string (câmpuri și încărcări @file cu ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (șiruri cookie), -L/--location și --compressed. Opțiunile scurte pot fi combinate, ca în -sSL, iar valorile pot fi atașate, ca în -XPOST.
Regulile urmează curl: mai multe valori -d sunt unite cu &; datele transformă cererea într-o cerere POST, cu excepția cazului în care -X sau -G specifică altfel; -G adaugă datele la URL ca șir de interogare; --json setează anteturile Content-Type și Accept la application/json. Atunci când corpul este JSON și Content-Type indică acest lucru, codul trimite un obiect real (json= în Python, un array cu json_encode în PHP) în loc de un șir cu escape. Pentru formulare multipart, antetul Content-Type este lăsat la latitudinea bibliotecii, astfel încât delimitatorul (boundary) să fie corect.
-k/--insecure este ignorat intenționat, iar o notă explică acest lucru. Opțiunile care schimbă doar ieșirea proprie a curl (-s, -S, -v, -i, -o, --fail și altele asemănătoare) sunt ignorate cu o notă. Orice altă opțiune produce o eroare clară care o numește, în loc de cod care face altceva în tăcere. Rămâne o diferență: curl urmează redirecționările doar cu -L, în timp ce fetch, axios și requests le urmează implicit; codul PHP le urmează doar atunci când a fost dat -L.
Unealta doar scrie cod. Nu trimite niciodată cererea, deci tokenii și parolele din comandă nu sunt folosiți nicăieri.
Exemple
Reproducerea unei cereri de browser în Python
Copiați un apel API care eșuează din fila Network a Chrome ca cURL și convertiți-l în Python requests. Anteturile, cookie-urile și corpul JSON sunt preluate, astfel încât puteți reproduce eroarea într-un script.
Utilizarea documentației API în Node.js
O referință API arată „curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. Versiunea axios folosește auth: { username: "key", password: "" } și un corp codificat ca formular.
Încărcare de fișier în PHP
„curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” devine CURLOPT_POSTFIELDS cu new CURLFile('invoice.pdf', 'application/pdf') și câmpul note.
Întrebări frecvente
Trimite acest instrument cererea mea?
Nu. Doar analizează textul comenzii și scrie cod. Nu se face nicio cerere, deci cheile API sau cookie-urile din comandă nu sunt utilizate sau stocate.
De ce nu este convertit -k/--insecure?
Dezactivarea verificării certificatelor face conexiunea deschisă la interceptare. Codul generat păstrează verificările active; dacă certificatul unui server nu este de încredere, remediați certificatul sau depozitul de încredere.
De ce primesc „opțiunea nu este acceptată”?
Convertorul traduce doar opțiunile al căror sens îl poate reproduce exact. Proxy-urile, certificatele client, cookie jar-urile și opțiunile similare sunt respinse pentru a nu obține cod care se comportă diferit față de curl.
Funcționează cu comenzile Windows cmd?
Comenzile copiate ca „cURL (bash)” funcționează cel mai bine. Windows cmd folosește ^ pentru continuarea liniei și ghilimele diferite; ^ la sfârșitul liniilor este acceptat, dar alte caractere escape cmd pot să nu fie.
Confidențialitate
Comanda este analizată doar în browserul dumneavoastră și nu se trimite nicio cerere. Nimic nu este încărcat, stocat sau inclus în analize.