Penukar cURL: cURL ke Fetch, Python, Axios & Lagi
Tampal arahan curl, contohnya yang disalin daripada DevTools pelayar anda, dan dapatkan kod sedia untuk dijalankan dalam 8 bahasa. Header, badan JSON, borang, muat naik fail, pengesahan dan kuki semuanya ditukar.
Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik
Cara menggunakan Penukar cURL
- Salin permintaan sebagai cURL: dalam DevTools Chrome atau Firefox, klik kanan permintaan dalam tab Network → Copy → Copy as cURL.
- Tampal ke dalam kotak input. Arahan berbilang baris dengan
\, sambungan Windows^dan rentetan$'…'disokong. - Pilih sasaran: JavaScript fetch, Axios, Node.js, Python requests, Python httpx, Go, PHP atau HTTPie.
- Baca sebarang amaran di bawah output. Ia menyenaraikan pilihan yang tiada padanan dalam bahasa sasaran.
- Salin kod atau muat turunnya sebagai fail.
Mengapa tukar arahan curl kepada kod?
curl ialah bahasa bersama HTTP. Dokumentasi API menunjukkan contoh dalam curl, DevTools pelayar mengeksport permintaan sebagai curl, dan pasukan sokongan menghantar langkah pengulangan sebagai curl. Apabila anda mahukan permintaan itu di dalam aplikasi, anda perlu menulisnya semula secara manual: pindahkan setiap -H ke dalam objek header, tukar -d menjadi badan, tukar -u kepada basic auth dan ingat bahawa -G memindahkan data ke query string. Penukar ini melakukan terjemahan itu untuk anda dan menghasilkan kod yang boleh terus ditampal ke dalam projek.
Pilihan curl yang disokong
| Pilihan | Ditukar kepada |
|---|---|
-X, -I, -G | Kaedah HTTP (POST disimpulkan apabila terdapat badan) |
-H, -A, -e, -b | Header, User-Agent, Referer dan kuki |
-d, --data-raw, --data-binary, --data-urlencode, --json | Badan permintaan: objek JSON, medan borang atau teks mentah |
-F | Data borang multipart, termasuk muat naik @file |
-u, --oauth2-bearer | Basic auth atau token Bearer |
-k, -L, -m, -x, --compressed | Pengesahan TLS, redirect, had masa, proksi dan pemampatan |
Badan JSON menjadi objek sebenar
Apabila permintaan menghantar JSON (header Content-Type: application/json, --json, atau badan yang boleh dihurai sebagai JSON), penukar menghasilkan struktur data asli dan bukannya rentetan yang di-escape: JSON.stringify({...}) untuk fetch, objek biasa untuk Axios dan json= dengan dict Python (True, False, None) untuk requests dan httpx. Ini memudahkan payload disunting dan diisi dengan pemboleh ubah.
Perbezaan yang perlu diingat
Pelayar tidak boleh mematikan semakan sijil atau menghalakan satu permintaan melalui proksi, jadi -k dan -x hanya muncul sebagai komen dalam kod fetch pelayar. curl tidak mengikut redirect melainkan anda memberikan -L, manakala fetch, requests dan Go mengikutnya secara lalai. Badan yang dihantar dengan -d tanpa Content-Type dikodkan sebagai borang oleh curl; jika ia kelihatan seperti JSON, penukar menghantarnya sebagai JSON dan memberitahu anda melalui amaran.
Soalan lazim
Adakah arahan curl saya dihantar ke pelayan?
Bagaimana untuk menyalin permintaan sebagai cURL daripada Chrome?
Adakah ia mengendalikan muat naik fail?
-F name=@file menjadi FormData dalam JavaScript, dict files= dalam Python, mime/multipart dalam Go dan CURLFile dalam PHP. -d @file dan -T file membaca badan permintaan daripada fail.Apa yang berlaku kepada pilihan yang tidak dikenali oleh penukar?
-s, -v atau -o diabaikan kerana ia tidak mengubah permintaan.