tigtools

Konverter cURL ke Kode

Tempelkan perintah curl, misalnya yang disalin dari developer tools browser Anda atau dokumen API, dan dapatkan kode setara dalam bahasa pilihan Anda.

Berjalan di browser Anda Tanpa perlu mendaftar

Bahasa

Cara menggunakan

  1. Salin permintaan sebagai curl, misalnya dari developer tools browser Anda (tab Network, klik kanan, Copy as cURL) atau dari dokumentasi API.
  2. Tempelkan ke dalam kotak. Kelanjutan baris dengan \ tidak masalah.
  3. Pilih JavaScript fetch, Node.js axios, Python requests, atau PHP cURL.
  4. Baca catatan di bawah kode, lalu salin atau unduh hasilnya.

Cara kerja

Konverter terlebih dahulu memecah perintah menjadi kata seperti yang dilakukan shell POSIX: tanda kutip tunggal, tanda kutip ganda dengan escape backslash, string $'…', dan sambungan baris dengan backslash dipahami. Variabel shell seperti $TOKEN tidak diekspansi; tetap dianggap sebagai teks.

Opsi curl yang didukung: URL (atau --url), -X/--request, -H/--header, -d/--data, --data-ascii, --data-raw, --data-binary, --data-urlencode, --json, -F/--form dan --form-string (field dan unggahan @file dengan ;type=), -u/--user, -G/--get, -I/--head, -A/--user-agent, -e/--referer, -b/--cookie (string cookie), -L/--location, dan --compressed. Opsi pendek dapat digabung, seperti -sSL, dan nilai dapat dilekatkan, seperti -XPOST.

Aturan mengikuti curl: beberapa nilai -d digabungkan dengan &; data membuat permintaan menjadi POST kecuali -X atau -G menentukan lain; -G menambahkan data ke URL sebagai string kueri; --json mengatur header Content-Type dan Accept menjadi application/json. Saat body berupa JSON dan Content-Type menyatakannya, kode mengirimkan objek asli (json= di Python, array dengan json_encode di PHP) alih-alih string yang di-escape. Untuk form multipart, header Content-Type diserahkan kepada library agar boundary-nya benar.

-k/--insecure sengaja diabaikan dan sebuah catatan menjelaskannya. Opsi yang hanya mengubah output curl itu sendiri (-s, -S, -v, -i, -o, --fail, dan sejenisnya) diabaikan dengan catatan. Opsi lain apa pun menghasilkan error yang jelas dengan menyebutkan opsi tersebut, alih-alih kode yang diam-diam melakukan hal yang berbeda. Satu perbedaan tetap ada: curl mengikuti redirect hanya dengan -L, sementara fetch, axios, dan requests mengikutinya secara default; kode PHP mengikutinya hanya jika -L diberikan.

Alat ini hanya menulis kode. Alat ini tidak pernah mengirim permintaan, sehingga token dan kata sandi dalam perintah tidak digunakan di mana pun.

Contoh

Mereproduksi permintaan browser di Python

Salin panggilan API yang gagal dari tab Network Chrome sebagai cURL dan ubah menjadi Python requests. Header, cookie, dan body JSON ikut tersalin, sehingga Anda dapat mereproduksi bug dalam skrip.

Menggunakan dokumentasi API di Node.js

Referensi API menampilkan “curl -u key: https://api.example.com/v1/charges -d amount=2000 -d currency=eur”. Versi axios menggunakan auth: { username: "key", password: "" } dan body yang di-encode formulir.

Unggah file di PHP

“curl -F 'file=@invoice.pdf;type=application/pdf' -F 'note=March' https://x.io/upload” menjadi CURLOPT_POSTFIELDS dengan new CURLFile('invoice.pdf', 'application/pdf') dan kolom note.

Pertanyaan yang sering diajukan

Apakah alat ini mengirim permintaan saya?

Tidak. Alat ini hanya mengurai teks perintah dan menulis kode. Tidak ada permintaan yang dibuat, sehingga kunci API atau cookie dalam perintah tidak digunakan atau disimpan.

Mengapa -k/--insecure tidak dikonversi?

Mematikan pemeriksaan sertifikat membuat koneksi terbuka terhadap penyadapan. Kode yang dihasilkan tetap mengaktifkan pemeriksaan; jika sertifikat server tidak dipercaya, perbaiki sertifikat atau trust store.

Mengapa saya mendapatkan “opsi tidak didukung”?

Konverter hanya menerjemahkan opsi yang maknanya dapat direproduksi secara persis. Proksi, sertifikat klien, cookie jar, dan opsi serupa ditolak sehingga Anda tidak mendapatkan kode yang berperilaku berbeda dari curl.

Apakah ini berfungsi dengan perintah Windows cmd?

Perintah yang disalin sebagai “cURL (bash)” bekerja paling baik. Windows cmd menggunakan ^ untuk melanjutkan baris dan kutipan yang berbeda; ^ di akhir baris diterima, tetapi escape cmd lainnya mungkin tidak.

Privasi

Perintah hanya diurai di browser Anda dan tidak ada permintaan yang dikirim. Tidak ada yang diunggah, disimpan, atau disertakan dalam analitik.