Generator & Builder Perintah cURL
Buat perintah curl di browser Anda — atur metode, header, autentikasi, dan body, dapatkan perintah siap salin secara instan. Preset untuk Bearer, POST JSON, unggah file. Gratis, privat, tanpa pendaftaran.
Tim kami memverifikasi builder perintah curl terhadap perilaku curl nyata di seluruh metode HTTP (GET/POST/PUT/PATCH/DELETE), skema autentikasi (Bearer, Basic, header API-key), tipe body (JSON mentah, form urlencoded, unggah file multipart), dan flag opsi (-L, -k, -v, -i, --compressed, -o, timeout, proxy) — dengan escaping tanda kutip tunggal yang aman untuk shell dan pengkodean query-string yang benar.
Apa Itu Perintah curl?
curl adalah alat baris perintah untuk mentransfer data melalui HTTP dan lusinan protokol lainnya. Perintah curl adalah nama binary, sekumpulan flag, dan URL — misalnya curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'. Karena curl tersedia di hampir setiap mesin Linux, macOS, dan Windows modern, ini adalah cara universal untuk menguji API, mereproduksi permintaan dari dokumentasi, atau memeriksa kesehatan layanan dari dalam skrip CI. Keringkasannya yang membuatnya powerful juga membuatnya sulit diingat, itulah mengapa visual builder sangat membantu.
Setiap perintah curl memiliki anatomi yang sama. Metode (-X GET, -X POST, …) menetapkan kata kerja HTTP, dengan default GET. URL adalah endpoint, dengan parameter query ditambahkan setelah ?. Header (-H 'Key: Value', dapat diulang) membawa metadata seperti Accept dan Content-Type. Autentikasi hanyalah header khusus — -H 'Authorization: Bearer …' untuk token, -u user:pass untuk Basic auth, atau custom -H 'X-API-Key: …'. Body (-d untuk data mentah atau form, -F untuk multipart dan unggah file) membawa payload. Akhirnya, flag opsi seperti -L (ikuti pengalihan), -i (sertakan header respons), dan -v (verbose) membentuk perilaku. Alat ini menyajikan setiap bagian tersebut sebagai kolom form dan membangun ulang perintah secara langsung.
Gunakan generator perintah curl saat Anda akan kesulitan dengan quoting, melupakan header Content-Type pada POST JSON, atau merakit unggahan multipart secara manual. Builder mendapatkan escaping tanda kutip tunggal yang aman untuk shell dengan benar, mengodekan query string Anda, dan melampirkan header yang tepat untuk setiap tipe body — lalu Anda menyalin perintah yang dapat dipercaya. Untuk referensi flag demi flag yang lengkap dengan 40+ contoh yang dapat dijalankan, baca cheat sheet curl pendamping; untuk mengodekan nilai query-string yang sulit, Anda dapat menggunakan encoder URL kami.
Semuanya terjadi di browser Anda. Token, kredensial, URL, dan body permintaan Anda dirakit dengan JavaScript sisi klien dan tidak pernah dikirim ke mana pun — sehingga Anda dapat membangun perintah terhadap endpoint produksi nyata dengan kunci API nyata dan tidak ada yang meninggalkan perangkat Anda.
# Plain GET — curl defaults to GET
curl https://api.example.com/users
# GET with a Bearer token (auth is just a header)
curl https://api.example.com/me \
-H 'Authorization: Bearer YOUR_TOKEN'
# POST a JSON body — note the Content-Type header
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada","role":"admin"}'
# Multipart file upload — '@' reads the file from disk
curl -X POST https://api.example.com/upload \
-F 'file=@report.pdf' \
-F 'title=Q3 report' Fitur Utama
Visual Request Builder
Susun seluruh permintaan sebagai kolom form — metode, URL, parameter query, header, auth, body, dan opsi — alih-alih menghafal urutan flag dan quoting. Tidak perlu lagi menebak apakah URL harus sebelum atau setelah -d.
Perintah Langsung dengan Salin & Ekspor
Perintah curl dibangun ulang pada setiap penekanan tombol di bagian bawah halaman. Salin ke clipboard dalam satu klik, atau Ekspor .sh untuk mengunduh skrip shell yang dapat dijalankan langsung ke repositori atau pekerjaan CI.
Dukungan Autentikasi Penuh
Bearer token, Basic auth (-u user:pass), dan header API-key kustom, masing-masing dihasilkan dalam format persis yang diharapkan server. Pilih skema, tempel kredensial, dan header Authorization atau kustom yang tepat dibuat untuk Anda.
Setiap Tipe Body
JSON mentah (dengan header Content-Type yang sesuai ditambahkan secara otomatis), kolom form application/x-www-form-urlencoded, dan unggahan multipart/form-data di mana setiap kolom dapat diubah menjadi file dengan awalan @.
Enam Preset Satu Klik
GET with Bearer, POST JSON, Form upload, Basic auth, Download -o, dan Verbose debug mengisi seluruh form dalam satu ketukan. Mulai dari permintaan yang berfungsi untuk tugas API paling umum dan sesuaikan dari sana.
Output Multi-baris & Satu Baris
Beralih antara perintah satu baris yang ringkas untuk tempel cepat dan versi multi-baris dengan backslash yang mudah dibaca dalam skrip atau ditinjau dalam pull request. Perintah yang sama, dua bentuk.
Privasi 100% Berbasis Browser
Token, URL, header, dan body permintaan dirakit sepenuhnya di sisi klien dan tidak pernah meninggalkan perangkat Anda — verifikasi di tab Network. Aman untuk endpoint produksi dan kredensial aktif tanpa paparan data.
Dibuat untuk Alur Kerja DevTools
Dirancang di sekitar loop sehari-hari pengujian API dan mereproduksi permintaan dari DevTools browser "Copy as cURL". Tab Convert yang mem-parse perintah curl yang ditempelkan ke fetch, requests, Go, PHP, Ruby, dan Node.js hadir di rilis berikutnya.
Alternatif curl & Klien HTTP
HTTPie
CLI, sintaks ramah manusiaCLI modern dengan output berwarna dan sintaks yang lebih ringkas (http POST api.example.com/users name=Ada). Menyetel Content-Type JSON secara default. Lebih ramah untuk penggunaan interaktif; curl unggul dalam ubiquity dan portabilitas skrip.
wget
CLI, fokus unduhanTerbaik untuk unduhan rekursif dan pencerminan situs; mengikuti pengalihan dan mencoba ulang secara default. Lebih lemah dari curl untuk metode arbitrer, header kustom, dan pengujian API. Sering dipra-instal bersama curl di Linux.
Postman
Aplikasi GUIGUI lengkap untuk membangun, menyimpan, dan berbagi permintaan dengan koleksi, lingkungan, dan sinkronisasi tim. Bagus untuk pekerjaan API eksplorasi; dapat mengimpor/mengekspor curl. Lebih berat dari perintah satu baris untuk pemeriksaan cepat atau CI.
Insomnia
Aplikasi GUIAlternatif open-source yang lebih ringan dari Postman dengan builder permintaan yang bersih dan impor/ekspor curl. Bagus untuk mengorganisir permintaan API; seperti Postman, lebih dari yang Anda butuhkan untuk satu panggilan yang discriptkan.
fetch() / requests
Klien HTTP dalam kodeJavaScript fetch() dan Python requests adalah cara Anda membuat panggilan dari kode aplikasi. Bangun dan verifikasi permintaan sebagai curl terlebih dahulu, lalu terjemahkan — tab Convert yang akan datang akan menghasilkan fetch, requests, dan kode klien lainnya yang setara.
Contoh Perintah curl
Permintaan GET Biasa
curl https://api.example.com/users
Tanpa flag metode, curl secara default menggunakan GET. Ini adalah permintaan paling sederhana — ambil sumber daya dan cetak body respons ke terminal Anda. Tambahkan parameter query di builder dan secara otomatis dikodekan URL ke akhir (?page=2&limit=50).
GET dengan Bearer Token
curl https://api.example.com/me \ -H 'Authorization: Bearer YOUR_TOKEN'
Panggilan terautentikasi paling umum terhadap REST API. Preset Bearer auth menambahkan header Authorization: Bearer … untuk Anda. Untuk memeriksa isi JWT sebelum mengirimnya, tempel token ke decoder JWT kami.
POST Body JSON
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada","role":"admin"}' Standar generator permintaan POST curl: tipe body JSON menetapkan -X POST, melampirkan header Content-Type: application/json, dan meneruskan payload dengan -d. Format respons API yang berantakan setelahnya dengan formatter JSON kami.
POST Form (urlencoded)
curl -X POST https://api.example.com/login \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'username=ada&password=s3cret'
Pengiriman form HTML klasik. Setiap pasangan -d field=value digabungkan dengan & dan dikirim sebagai application/x-www-form-urlencoded. curl mengodekan URL karakter khusus; buat kolom di bagian body form dan alat akan merakit string untuk Anda.
Unggah File Multipart
curl -X POST https://api.example.com/upload \ -F 'file=@report.pdf' \ -F 'title=Q3 report'
Perintah unggah file curl menggunakan -F untuk multipart/form-data. Awali nilai dengan @ untuk melampirkan file dari disk; gabungkan kolom file dan teks dengan bebas. curl menetapkan boundary multipart dan Content-Type secara otomatis — jangan pernah menyetelnya secara manual.
Unduh ke File
curl -L -o archive.zip \ https://example.com/files/archive.zip
Simpan body respons ke file bernama dengan -o, dan -L mengikuti pengalihan ke URL unduhan nyata (umum dengan CDN dan tautan release-asset). Gunakan -O alih-alih -o untuk menyimpan nama file dari server.
Autentikasi Basic
curl -u ada:s3cret \ https://api.example.com/private
curl basic auth menggunakan -u user:pass; curl mengodekan Base64 kredensial menjadi header Authorization: Basic … melalui kabel. Selalu kirim Basic auth melalui HTTPS — Base64 adalah pengkodean, bukan enkripsi, dan mudah dibalik.
Debug Verbose
curl -v -i https://api.example.com/health
Ketika permintaan bermasalah, -v mencetak baris permintaan lengkap, setiap header yang dikirim dan diterima, dan handshake TLS; -i menyertakan header respons dalam output body. Yang pertama dicari saat API mengembalikan kode status yang salah.
Cara Membangun Perintah curl
- 1
Pilih metode HTTP
Pilih GET, POST, PUT, PATCH, DELETE, HEAD, atau OPTIONS. curl default ke GET; memilih POST atau kata kerja lain menambahkan
-X METHODke perintah yang dihasilkan. Atau ketuk chip preset untuk menetapkan metode dan body yang sesuai dalam satu klik. - 2
Masukkan URL dan parameter query
Ketik URL permintaan (mis.
https://api.example.com/users). Tambahkan parameter query sebagai pasangan kunci/nilai dan alat akan mengodekan URL-nya serta menambahkan?key=value&…ke URL secara otomatis — tidak perlu pengkodean manual. - 3
Tambahkan header dan autentikasi
Tambahkan header permintaan sebagai pasangan kunci/nilai, lalu pilih skema auth: None, Bearer token, Basic (nama pengguna/sandi), atau header API-key kustom. Header
Authorizationatau kustom yang tepat dihasilkan dalam format persis yang diharapkan server. - 4
Atur body permintaan
Untuk POST/PUT/PATCH, pilih tipe body: tempel JSON mentah (header
Content-Typeditambahkan untuk Anda), buat kolom form urlencoded, atau rakit unggahan multipart dan ubah kolom mana pun menjadi file dengan awalan@. - 5
Aktifkan opsi
Aktifkan flag yang Anda butuhkan — ikuti pengalihan (
-L), TLS tidak aman (-k), verbose (-v), sertakan header (-i), terkompresi (--compressed), output ke file (-o), batas waktu koneksi, atau proxy (-x). Setiap toggle memperbarui perintah secara langsung. - 6
Salin, ekspor, atau reset
Salin perintah yang sudah selesai, Ekspor .sh untuk mengunduhnya sebagai skrip, atau Reset untuk menghapus form. Gunakan toggle Multi-baris untuk beralih antara output satu baris dan multi-baris dengan backslash sebelum Anda menyalin.
Kesalahan curl yang Umum
Hilangnya -X dengan Metode yang Memiliki Body
Mengirim body dengan -d menyiratkan POST, tetapi jika Anda memerlukan PUT atau PATCH Anda harus menyatakannya secara eksplisit dengan -X. Melupakannya mengirim body sebagai POST dan server mengembalikan status yang salah atau menolak permintaan.
# Bermaksud PATCH, tetapi -d saja menyiratkan POST
curl -d '{"role":"admin"}' \
https://api.example.com/users/7 # Tetapkan kata kerja secara eksplisit
curl -X PATCH -d '{"role":"admin"}' \
-H 'Content-Type: application/json' \
https://api.example.com/users/7 Content-Type Hilang pada POST JSON
Mengirim JSON dengan -d TIDAK menyetel header Content-Type — curl default ke application/x-www-form-urlencoded. Sebagian besar API kemudian gagal mem-parse body dan mengembalikan 400 atau 415. Selalu lampirkan tipe konten JSON (atau gunakan preset body JSON, yang menambahkannya untuk Anda).
# Server melihat urlencoded, bukan JSON — 400/415
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' # Deklarasikan tipe konten JSON
curl -X POST https://api.example.com/users \
-H 'Content-Type: application/json' \
-d '{"name":"Ada"}' Escaping Tanda Kutip Tunggal vs Ganda
Di dalam tanda kutip ganda shell memperluas $, backtick, dan !, merusak JSON atau mengalami error pada $variable di dalam payload Anda. Tanda kutip tunggal meneruskan body secara harfiah. Gunakan tanda kutip tunggal untuk body JSON; beralih ke tanda kutip ganda hanya di cmd.exe, yang tidak mendukung tanda kutip tunggal.
# $name diperluas oleh shell menjadi string kosong
curl -d "{\"user\":\"$name\"}" \
https://api.example.com/users # Tanda kutip tunggal mengirim body secara harfiah
curl -d '{"user":"$name"}' \
https://api.example.com/users Menggunakan -d pada Permintaan GET
Menambahkan -d ke permintaan secara diam-diam mengubahnya menjadi POST. Jika Anda menginginkan GET dengan parameter query, masukkan ke URL (atau gunakan -G untuk melipat data -d ke query string). -d pada GET adalah salah satu alasan paling umum mengapa "GET saya tidak berfungsi".
# -d menjadikan ini POST, bukan GET curl -d 'page=2&limit=50' \ https://api.example.com/users
# Query string pada URL menjaganya sebagai GET curl 'https://api.example.com/users?page=2&limit=50'
Kelanjutan Baris Windows: ^ vs \
Backslash (\) melanjutkan perintah ke baris berikutnya di bash, Git Bash, dan WSL. Di cmd.exe karakter kelanjutan adalah caret (^), dan PowerShell menggunakan backtick (`` ` ``). Menempelkan perintah berlanjut-backslash ke cmd akan merusaknya — alihkan alat ini ke output satu baris untuk cmd Windows.
:: cmd.exe — backslash bukan karakter kelanjutan
curl -X POST https://api.example.com/users \
-d '{"name":"Ada"}' :: cmd.exe — satu baris, atau gunakan ^ untuk melanjutkan
curl -X POST https://api.example.com/users -d "{\"name\":\"Ada\"}" Spasi dalam URL Tidak Dikodekan
Spasi mentah (atau &, #, ?) dalam URL atau nilai query merusak perintah — shell membagi argumen dan curl melihat URL yang terpotong. Kodekan persen nilainya (spasi menjadi %20) atau biarkan curl mengkodekannya dengan --data-urlencode. Kolom parameter query dalam alat ini dikodekan secara otomatis.
# Spasi membagi argumen — curl melihat dua argumen curl https://api.example.com/search?q=hello world
# Kodekan spasi (atau kutip seluruh URL) curl 'https://api.example.com/search?q=hello%20world'
Kasus Penggunaan Umum
- Pengujian REST API
- Bangun dan kirim permintaan ke endpoint REST tanpa meninggalkan terminal: atur metode, tempel Bearer token, kirim body JSON, dan baca respons. Cara tercepat untuk mengonfirmasi API berperilaku sebelum menulis kode klien.
- Mereproduksi Permintaan dari Dokumentasi
- Dokumentasi API menampilkan endpoint dan parameter tetapi jarang perintah lengkap yang siap salin. Isi metode, URL, header, dan auth di sini dan dapatkan perintah curl yang langsung berjalan — tanpa berjuang dengan quoting atau header
Content-Typeyang hilang. - Skrip Smoke-Test CI/CD
- Hasilkan perintah curl untuk pemeriksaan kesehatan atau uji asap pasca-deploy, lalu Ekspor .sh untuk dimasukkan ke pipeline. Tambahkan
--connect-timeoutdan--max-timeagar endpoint yang macet tidak dapat memblokir build, dan periksa kode status dengan-w. - Unggah & Unduh File
- Rakit unggahan
multipart/form-datadengan-F field=@file, atau buat unduhan-L -o filenameyang mengikuti pengalihan ke CDN. Enkode nama file atau nilai query yang sulit terlebih dahulu dengan encoder URL kami. - Debug Webhook
- Putar ulang payload webhook dengan POST body JSON yang sama yang dikirim penyedia, dengan header tanda tangan dan
Content-Typeyang tepat. Reproduksi permintaan persis secara lokal untuk men-debug mengapa handler Anda menolaknya. - Laporan Bug yang Dapat Direproduksi
- Tempel satu perintah curl yang berdiri sendiri ke laporan bug atau PR sehingga siapa pun dapat mereproduksi permintaan persis — metode, header, placeholder auth, dan body. Jauh lebih jelas daripada mendeskripsikan permintaan dalam prosa.
- Belajar Flag curl
- Lihat bagaimana setiap pilihan form dipetakan ke flag nyata — pilih Basic auth dan perhatikan
-umuncul, tambahkan body JSON dan perhatikan headerContent-Typeterlampir. Cara hands-on untuk mempelajari sintaks, dipasangkan dengan cheat sheet curl kami. - Mempersiapkan Permintaan untuk Dikonversi ke Kode
- Bangun dan verifikasi permintaan sebagai curl terlebih dahulu, lalu terjemahkan ke klien HTTP aplikasi Anda. Tab Convert yang akan datang akan mengubah perintah curl yang ditempelkan menjadi fetch, requests, Go, PHP, Ruby, dan Node.js — mulai dari perintah curl yang Anda ketahui berfungsi.
Referensi Flag & Sintaks curl
- Quoting & Escaping Shell
- Alat ini membungkus nilai dalam tanda kutip tunggal, bentuk paling aman di shell POSIX karena tidak ada yang di dalam string bertanda kutip tunggal yang diperluas. Tanda kutip tunggal literal di dalam nilai dihasilkan sebagai urutan
'\''(tutup-kutip, kutip yang di-escape, buka-kutip kembali). Dicmd.exeberalih ke tanda kutip ganda; Git Bash dan WSL menjalankan perintah kutip tunggal yang dihasilkan tanpa perubahan. - -d vs --data-raw vs --data-binary
-d/--datamenghapus baris baru dan carriage return dari body — baik untuk pasangankey=value, merusak untuk konten multi-baris.--data-rawsama tetapi tidak memperlakukan@di awal sebagai nama file.--data-binarymengirim byte persis seperti yang diberikan (gunakan@fileuntuk mengunggah konten file mentah). Ketiganya menyiratkan POST kecuali metode diganti.- Multipart (-F) vs URL-encoded (-d)
-F field=valuemenghasilkanmultipart/form-datadengan boundary yang dibuat — diperlukan untuk unggah file (-F file=@path) dan form campuran file/teks.-d field=valuemenghasilkanapplication/x-www-form-urlencoded, string tunggal yang digabungkan dengan&. Jangan pernah menyetelContent-Typesecara manual untuk multipart; curl menghitung boundary dan menyetel header sendiri.- Pengkodean Header Auth
- Bearer auth mengirim
Authorization: Bearer <token>verbatim (RFC 6750). Basic auth dari-u user:passdikodekan Base64 menjadiAuthorization: Basic <base64>melalui kabel — pengkodean, bukan enkripsi, jadi gunakan HTTPS. API key adalah header kustom apa pun yang diperlukan layanan, mis.X-API-Key: <value>. - Pengkodean Query-String
- Parameter query yang ditambahkan di builder dikodekan persen dan ditambahkan sebagai
?key=value&key2=value2. Karakter khusus (spasi,&,=,#) di-escape agar URL valid. Untuk kolom body yang harus dikodekan,--data-urlencodecurl sendiri menangani pengkodean saat waktu permintaan. - Perilaku Pengalihan (-L)
- Tanpa
-L, curl mencetak respons 301/302 dan berhenti. Dengan-Lcurl mengikuti headerLocationke URL akhir. Perhatikan bahwa curl menghapus headerAuthorizationketika pengalihan berpindah ke host yang berbeda (default keamanan); gunakan--location-trustedhanya ketika Anda memahami implikasinya. - Respons Terkompresi
--compressedmenambahkan headerAccept-Encodingyang mengiklankan dukungan gzip/deflate/brotli dan secara transparan mendekompres respons, menghemat bandwidth. Body yang didekodekan identik dengan permintaan yang tidak terkompresi — murni optimisasi transfer, aman untuk diaktifkan pada sebagian besar panggilan API.- Output: -o vs -O
-o filenamemenulis body respons ke file yang Anda namai;-Omenyimpannya dengan nama file remote dari path URL. Keduanya menekan dump stdout normal. Gabungkan dengan-Lagar pengalihan diselesaikan ke aset nyata sebelum file ditulis.
Praktik Terbaik untuk Permintaan curl
- Jangan Pernah Hard-Code Rahasia dalam Perintah yang Dibagikan
- Perintah curl yang Anda tempel ke PR, tiket, atau obrolan akan dibaca orang lain dan diindeks oleh alat. Ganti token dan sandi dengan placeholder (
YOUR_TOKEN) atau referensikan variabel lingkungan (-H "Authorization: Bearer $API_TOKEN"). Untuk kredensial panjang, curl dapat membaca header dari file dengan-H @headerfilesehingga rahasia tidak pernah muncul di riwayat shell. - Pilih --data-binary @file untuk Payload Biner
- Ketika body adalah file yang byte-nya penting — gambar, payload yang ditandatangani, JSON di mana spasi signifikan — gunakan
--data-binary @filedaripada-d @file.-dbiasa menghapus baris baru dan carriage return, secara diam-diam merusak konten biner dan multi-baris.--data-binarymengirim file persis seperti di disk. - Kutip Nilai Header
- Selalu bungkus nilai
-Hdalam tanda kutip:-H 'Content-Type: application/json'. Tanpa tanda kutip, spasi setelah titik dua memisahkan argumen dan curl melihat header yang salah format. Tanda kutip tunggal juga mencegah shell dari memperluas$,*, dan karakter khusus lainnya di dalam nilai — persis seperti yang dihasilkan alat ini secara default. - Gunakan --compressed untuk Menghemat Bandwidth
- Tambahkan
--compressedpada panggilan API dan unduhan untuk meminta pengkodean gzip/brotli dan biarkan curl mendekompres secara transparan. Untuk API berbasis JSON ini dapat mengurangi ukuran transfer sebesar 70–90% tanpa perubahan pada respons yang Anda lihat — kemenangan gratis dalam skrip yang mem-polling endpoint berulang kali. - Tetapkan Batas Waktu dalam Skrip
- Dalam konteks otomatis apa pun, tambahkan
--connect-timeoutdan--max-timeagar endpoint yang lambat atau macet tidak dapat memblokir pipeline selamanya. Pemeriksaan kesehatan dengan--max-time 10gagal dengan cepat dan membiarkan CI Anda melanjutkan. Gabungkan dengan--retry Nuntuk menyerap gangguan jaringan sementara tanpa langsung menyerah. - Verifikasi dengan -v Sebelum Mengotomatiskan
- Sebelum memanggang perintah curl ke dalam skrip atau cron job, jalankan sekali dengan
-vuntuk melihat baris permintaan persis, header, dan handshake TLS. Ini adalah cara tercepat untuk menangkap metode yang salah,Content-Typeyang hilang, atau header auth yang tidak terlampir — debug secara interaktif, lalu hapus-vuntuk produksi.
Pertanyaan yang Sering Diajukan
Apa yang dilakukan alat ini?
.sh, atau beralih antara output satu baris dan multi-baris. Ini adalah generator perintah curl yang dibuat untuk alur kerja sehari-hari dalam menguji REST API, mereproduksi permintaan dari dokumentasi, atau memasukkan perintah yang dapat direproduksi ke dalam laporan bug. Untuk referensi lebih mendalam tentang flag-nya sendiri, lihat cheat sheet curl kami. Apakah data saya (token, URL) diunggah ke mana pun?
Bagaimana cara mengirim permintaan POST dengan JSON di curl?
curl -X POST <url> -H 'Content-Type: application/json' -d '{…}'. Dua bagian penting: flag -d (atau --data) membawa body, dan header Content-Type: application/json memberi tahu server cara mem-parse-nya — hilangkan header dan banyak framework mengabaikan atau salah membaca payload. curl modern (7.82+) juga menawarkan pintasan --json yang menetapkan header dan body sekaligus. Setelah panggilan, tempel respons ke formatter JSON kami untuk pretty-print dan validasi. Bagaimana cara menambahkan Bearer token ke permintaan curl?
Authorization dengan nilai Bearer YOUR_TOKEN, atau pilih preset "GET with Bearer" dan tempel token Anda. Perintah yang dihasilkan adalah curl <url> -H 'Authorization: Bearer YOUR_TOKEN'. Kata Bearer, satu spasi, lalu token — format persis itu diperlukan oleh spesifikasi OAuth 2.0 Bearer (RFC 6750). Untuk memeriksa klaim dan tanggal kedaluwarsa token sebelum mengirimnya, decode dengan JWT decoder kami. Bagaimana cara mengunggah file dengan curl?
curl -X POST <url> -F 'file=@/path/to/file'. Awalan @ memberi tahu curl untuk membaca file dari disk dan mengirimkannya sebagai multipart/form-data; Anda dapat menambahkan lebih banyak kolom -F untuk file maupun nilai teks biasa dalam permintaan yang sama. Jangan atur header Content-Type sendiri untuk multipart — curl menghasilkan boundary dan menyetel header secara otomatis, dan menggantinya akan merusak unggahan. Untuk PUT file tunggal, curl menggunakan -T file <url>. Bisakah saya mengimpor perintah yang disalin dari DevTools browser ("Copy as cURL")?
-H ke bagian headers dan URL ke kolom URL. Apa perbedaan curl di Windows?
cmd.exe Anda menggunakan tanda kutip ganda (") di sekitar nilai dan karakter caret (^) untuk kelanjutan baris, dan tanda kutip tunggal tidak memiliki arti khusus. Di PowerShell, curl adalah alias untuk Invoke-WebRequest kecuali Anda memanggil curl.exe secara eksplisit, dan aturan quoting berbeda lagi. Opsi paling mudah adalah Git Bash atau WSL, di mana perintah kutip tunggal gaya Unix yang dihasilkan alat ini berjalan tanpa perubahan. Jika Anda harus menggunakan cmd, alihkan perintah yang dihasilkan ke satu baris dan ganti quoting '…' dengan "…". Apa perbedaan antara -d, --data-raw, dan --data-binary?
-d (alias --data) mengirim body dan menghapus baris baru dan carriage return dari data — baik untuk pasangan key=value form, berisiko untuk JSON yang mencakup beberapa baris. --data-raw identik tetapi tidak memperlakukan @ di awal sebagai nama file, sehingga merupakan pilihan aman ketika data Anda mungkin secara harfiah dimulai dengan @. --data-binary mengirim byte persis seperti yang diberikan tanpa penghapusan baris baru sama sekali — flag yang tepat untuk mengunggah konten mentah file (--data-binary @file.json) atau payload mana pun di mana spasi penting. Ketiganya menyiratkan POST kecuali Anda mengganti metode. Bagaimana cara mengirim cookie dengan curl?
-b untuk mengirim cookie dan -c untuk menyimpannya. -b 'name=value' mengirim string cookie literal, sementara -b cookies.txt membaca cookie dari file format Netscape. Untuk menangkap cookie yang ditetapkan server (misalnya setelah login), tambahkan -c cookies.txt untuk menulisnya ke jar, lalu gunakan kembali jar tersebut dengan -b cookies.txt pada permintaan berikutnya. Builder ini berfokus pada header, auth, dan body; untuk header cookie Anda juga dapat menambahkan header Cookie: name=value di bagian headers. Bagaimana cara mengikuti pengalihan?
-L secara manual. Secara default curl mencetak respons 301/302 dan berhenti; -L memberi tahu curl untuk mengikuti header Location ke tujuan akhir. Ini penting untuk tautan unduhan di balik CDN, URL yang diperpendek, dan API yang mengalihkan HTTP ke HTTPS. Gabungkan dengan -o filename untuk menyimpan file yang diunduh setelah pengalihan diselesaikan. Bagaimana cara menetapkan batas waktu permintaan?
--connect-timeout <detik>, yang membatasi berapa lama curl menunggu untuk membuat koneksi. Untuk batas waktu seluruh transfer — koneksi ditambah unduhan — tambahkan --max-time <detik> ke perintah yang dihasilkan secara manual. Menetapkan batas waktu adalah praktik terbaik dalam skrip atau uji asap CI apa pun: tanpanya, endpoint yang macet dapat memblokir pipeline Anda tanpa batas. Gabungkan dengan --retry N jika Anda ingin curl mencoba ulang kegagalan sementara. Alat Terkait
Lihat semua alat →Generator htpasswd — bcrypt, Apache MD5 (apr1) & Basic Auth
Web & API
Buat entri htpasswd dengan bcrypt, Apache MD5 (apr1), SHA-1 & lainnya. Dapatkan konfigurasi Apache, nginx & Docker siap pakai. 100% di browser Anda — tanpa upload.
Generator Meta Tag & Open Graph
Web & API
Buat tag meta Open Graph, Twitter Card & SEO dengan pratinjau langsung Google, Facebook & X. 100% gratis, di browser, tanpa daftar — salin & tempel kodenya.
Penguji nginx location — mengapa blok itu menang
Web & API
Blok location nginx mana yang menang — dan mengapa yang lain kalah. Penguji gratis untuk =, ^~, ~ dan ~*, sepenuhnya di browser Anda.
Kalkulator Subnet IPv4
Web & API
Hitung alamat jaringan, broadcast, rentang host yang dapat digunakan, subnet mask, dan wildcard untuk blok CIDR IPv4 mana pun. Mendukung link point-to-point /31 sesuai RFC 3021 dan pembagian subnet — semua di browser Anda.
Decoder traceparent — W3C Trace Context
Web & API
Berhenti menghitung digit hex. Decoder traceparent online gratis — jalan di browser Anda, tanpa unggahan. Trace ID, span ID, 8 bit trace-flags, tracestate, Datadog/X-Ray/B3.
Alat Dekripsi AES — Kompatibel OpenSSL & CryptoJS
Alat Keamanan
Dekripsi AES online — GCM/CBC/CTR, frasa sandi atau kunci mentah, otomatis mendeteksi format OpenSSL & CryptoJS "U2FsdGVkX1". 100% di browser, kunci tidak pernah meninggalkan halaman.