insocks
Back to blog. Article language: BN EN ES FR HI ID PT RU UR VI ZH

Panduan Lengkap Request POST cURL: Cara Mengirim Data ke API

Curl request POST adalah utilitas baris perintah universal untuk transfer data yang mulus melalui berbagai protokol jaringan, termasuk HTTP, HTTPS, dan FTP. Program ini telah menjadi opsi standar untuk mengirim request HTTP dari baris perintah. Utilitas lintas platform ini mendukung protokol HTTP, HTTPS, FTP, dan IMAP, sehingga memudahkan pengiriman request ke API dan mengambil informasi dari situs web. Tersedia secara luas dan mendukung protokol POST Curl, ini dianggap sebagai metode yang sah untuk menguji API langsung dari baris perintah, baik dengan layanan berpemilik maupun publik. Materi ini ditujukan untuk pengembang, teknisi DevOps, dan spesialis QA di Amerika Serikat.

Memahami metode HTTP POST

Post Curl mengacu pada penggunaan metode HTTP POST untuk mengirim data ke server. Ini adalah salah satu metode HTTP yang paling umum. Tidak seperti request GET, yang menyertakan data di dalam URL, Curl request POST mentransmisikan data di dalam body request. Metode ini dapat digunakan untuk melakukan transfer data tersembunyi dan menghindari batasan panjang URL yang diberlakukan oleh browser pada request GET.

Metode ini digunakan untuk melakukan pengiriman data formulir curl, unggahan file, dan transfer data JSON ke API. Karena informasi terkandung di dalam body request, informasi tersebut tidak terlihat di URL atau riwayat browser dan biasanya tidak di-cache oleh browser web, tidak seperti request GET.

Perbedaan antara request GET dan Curl POST dengan body disajikan lebih detail dalam tabel berikut:

Kriteria perbandinganRequest GETRequest POST
Lokasi dataDi dalam URLDi dalam body curl POST
Penggunaan umumMencari, memfilter, dan membaca artikel saat data tidak boleh berubahOtorisasi, registrasi, pembayaran, membuat atau mengedit konten
IdempotensiIdempotent - beberapa request tidak mengubah statusTidak
Pertimbangan keamananKurang aman karena data terlihatLebih aman karena data disembunyikan

Request GET dibatasi oleh panjang URL, sedangkan request POST tidak.

Bagaimana curl mengirim request POST

Curl request POST memungkinkan Anda mengirim request HTTP langsung dari baris perintah. Request tersebut mentransfer data ke server. Body Curl POST dalam request curl dapat berisi beberapa parameter. Bentuk paling sederhana terlihat seperti ini: curl -X POST https://example.com/api, di mana:

curl - meluncurkan program;

-X - menentukan POST sebagai metode HTTP; https://example.com/api - URL ke mana request dikirim. Contoh curl POST ini tidak berisi data apa pun, jadi body request biasanya ditambahkan. Dengan demikian, curl memberikan kontrol mendetail atas komunikasi HTTP, menjadikannya sangat diperlukan untuk debugging API dan pengujian infrastruktur.

Mengirim berbagai jenis data POST

Berbagai jenis data dikirim dalam request POST di curl. Format body dan header Curl POST menentukan jenis informasi yang dikirim. Rincian utama diuraikan di bawah ini.

Mengirim data yang dikodekan formulir

Format application/x-www-form-urlencoded adalah metode standar untuk transmisi data formulir dalam request POST melalui HTTP. Request tersebut menggunakan formulir HTML dan utilitas curl.

Data ditransmisikan sebagai pasangan kunci=nilai yang dipisahkan oleh simbol &. Contoh Curl POST terlihat seperti ini: name=Michael&age=32&city=Chicago, di mana name adalah Michael, age adalah 32, dan city adalah Chicago.

Mengirim payload JSON

JSON adalah salah satu format paling populer untuk menukar data antara klien dan server. Saat mengirim JSON melalui POST Curl, penting untuk menentukan header HTTP yang benar: Content-Type: application/json. Saat menggunakan header jenis konten, pastikan itu benar dan akurat, karena itu memberi tahu server dalam format apa body request curl POST dikodekan.

Sebagai perbandingan, berikut adalah tabel:

Jenis dataHeader yang diperlukanKasus penggunaan umum
application/x-www-form-urlencodedSecara otomatisFormulir HTML
multipart/form-dataSecara otomatis via unggah file melalui POSTUnggah file
application/jasonHarus ditentukan secara manualREST API
application/XMLDiperlukanAPI lama dan SOAP

JSON memerlukan sintaksis yang benar dan penggunaan tanda kutip di sekitar kunci.

Mengunggah file dengan POST

Pengunggahan file melalui POST Curl dilakukan menggunakan formulir HTML dengan atribut enctype="multipart/form-data". Metode ini memungkinkan data teks dan biner ditransfer ke server untuk diproses. Fitur utama dari metode ini meliputi:

  • Formulir HTML. Formulir ini harus menyertakan atribut enctype dengan nilai "multipart/form-data" untuk memastikan transfer file yang benar.
  • Pemrosesan server. Script penerima mendapatkan file melalui array khusus yang berisi nama, jenis, lokasi sementara, dan ukuran file.
  • Keamanan. Bidang MAX_FILE_SIZE tersembunyi harus diatur sebelum bidang pemilihan file untuk verifikasi awal, meskipun ini tidak menggantikan verifikasi sisi server.

File ditransfer secara utuh atau sebagian.

Bekerja dengan header dan otentikasi

Curl request POST mentransfer data dengan parameter otentikasi dan metadata dalam header HTTP dan payload dalam body request. Ada beberapa aspek kunci dalam bekerja dengan header dan otentikasi:

  • Otorisasi. Paling sering digunakan untuk mentransfer token akses: Authorization: Bearer .
  • Header Content-Type. Diperlukan saat mengirim data JSON.
  • Header penting lainnya. Accept (jenis respons yang diharapkan) dan User-Agent (informasi klien).
  • Otentikasi di Postman. Di tab Otorisasi, pilih Bearer Token agar Postman secara otomatis menghasilkan header.
  • Keamanan. Request otentikasi berbasis token harus selalu dikirim melalui HTTPS.

Oleh karena itu, HTTPS harus digunakan, token harus disimpan dengan aman, dan kredensial tidak boleh diekspos dalam log.

Menggunakan request POST melalui proxy

Utilitas ini mendukung server proxy, memungkinkan Anda mengirim request melalui server perantara yang meneruskan data ke API target. Dalam infrastruktur perusahaan, proxy sering digunakan untuk:

  • menerapkan kebijakan keamanan jaringan;
  • kontrol akses dan lalu lintas;
  • menguji API dari berbagai segmen dan wilayah;
  • penyeimbangan dan distribusi beban;
  • akses terpusat ke layanan eksternal.

Tabel berikut memberikan perbandingan:

Jenis proxyKapan digunakanManfaat untuk perusahaan
HTTP proxyLalu lintas web standar dan APIIntegrasi dan kontrol yang mudah
HTTPS proxyKoneksi amanEnkripsi dan keamanan
SOCKS5 proxyPerutean lalu lintas kompleksFleksibilitas dan dukungan untuk berbagai protokol

Penting untuk menguji latensi sebelum penggunaan skala besar, memantau tingkat keberhasilan request, dan mengonfigurasi timeout dengan benar.

Debugging request POST di curl

Saat mengembangkan dan menguji API, perlu untuk mendiagnosis request yang dibuat dengan data curl POST data. Beberapa alat bawaan memungkinkan Anda untuk melihat pertukaran jaringan lengkap, header HTTPS, kode respons server, dan perilaku koneksi. Berikut adalah metode utama:

  • Mode verbose. Mode ini menunjukkan perincian koneksi HTTP. Output ini mencakup resolusi DNS, koneksi TCP/TLS, header HTTP yang dikirim, body request, dan header server. Ini memungkinkan untuk memahami dengan tepat request apa yang dikirim, header apa yang diterima server, dan respons apa yang dikembalikan API.
  • Melihat header respons. Terkadang perlu untuk melihat header respons tanpa diagnostik jaringan terperinci. Ini berguna untuk memeriksa CORS, menganalisis header Content-Type, dan memverifikasi otorisasi.
  • Timeout. Terkadang server merespons dengan lambat atau koneksi terhenti. Curl memungkinkan batas diatur. Ini penting untuk tugas otomatis, pengujian integrasi, dan sistem layanan mikro.
  • Percobaan ulang (Retries). Jika layanan tidak tersedia untuk sementara, Curl dapat secara otomatis mencoba kembali request POST. Ini berguna untuk kesalahan jaringan sementara, layanan yang tidak stabil, atau sistem terdistribusi.
  • Kode status respons server. Saat melakukan debugging request, kode tertentu menunjukkan keberhasilan eksekusi, dan opsi membantu mengidentifikasi kesalahan.
Opsi debuggingTujuanKapan digunakan
-vOutput terperinci dari pertukaran jaringanMendiagnosis masalah API
-iMenampilkan header respons HTTPMenganalisis respons server
-w "%{http_code}"Mendapatkan kode statusScript otomatis
--connect-timeoutBatasi waktu koneksiJaringan tidak stabil
--max-timeBatasi waktu requestOtomatisasi
--retryCoba kembali requestKegagalan server sementara
--traceLog jaringan lengkapDiagnostik mendalam

Semua perintah ini dapat digunakan untuk men-debug seluruh sistem API.

Strategi optimasi kinerja

Saat bekerja dengan API dan layanan jaringan, penting untuk mengoptimalkan kinerja request HTTP. Utilitas ini menyertakan beberapa alat untuk mempercepat request. Ini termasuk:

  • Penggunaan kembali koneksi. Membangun koneksi baru dapat memakan waktu puluhan milidetik, sehingga satu koneksi dapat digunakan kembali untuk beberapa request.
  • Request paralel. Saat mengirim sejumlah besar request POST, lebih efisien untuk menjalankannya secara paralel.
  • Mengonfigurasi timeout. Timeout yang salah dapat menyebabkan script terhenti, pemblokiran sumber daya, dan penundaan lama selama masalah jaringan.
  • Kompresi. Mentransfer respons API yang besar dapat menghabiskan bandwidth jaringan yang signifikan, sehingga curl mendukung kompresi.

Strategi ini menawarkan keuntungan berikut:

  • pengujian cepat;
  • otomatisasi menggunakan script;
  • kontrol yang tepat.

Di antara kekurangannya adalah kebutuhan akan keterampilan baris perintah dan risiko kesalahan selama konfigurasi manual.

Contoh langkah demi langkah alur kerja API POST yang aman

Proses yang aman memastikan akurasi data dan pemrosesan respons yang andal. Tampilannya seperti ini:

  • tentukan endpoint API. Pertama, tentukan URL yang menerima request. Contoh request Curl POST terlihat seperti ini: https://api.example.com/v1/users;
  • siapkan format payload data curl. Sebagian besar API modern menerima JSON. Lebih mudah untuk diedit, lebih sederhana untuk memeriksa sintaksis, dan lebih mudah digunakan dalam otomatisasi;
  • kustomisasi header dalam request. Header memberi tahu server tentang jenis data, format respons, dan parameter request tambahan;
  • siapkan otentikasi. Sebagian besar API memerlukan identifikasi melalui Bearer Token;
  • kirim request POST. Setelah semua langkah ini, request yang diinginkan dapat dieksekusi.

Selanjutnya, respons dapat diperiksa dan hasil request dapat dicatat dengan aman.

Membandingkan curl POST dengan alat API grafis

Saat bekerja dengan request API, baik alat CLI maupun klien API grafis digunakan. Pengembang dan teknisi DevOps sering menggunakan Curl, sedangkan alat grafis nyaman untuk menguji API.

Jenis alatOtomatisasiFleksibilitasPenggunaan terbaik
Alat CLITinggiSangat TinggiScripting, DevOps, CI/CD
Klien API GUISedangTinggiPengujian dan Pengembangan API

Curl sangat efektif dalam CI/CD dan otomatisasi server.

Pertimbangan keamanan dan kepatuhan di AS

Saat bekerja dengan API dan mengirim request, penting untuk mempertimbangkan persyaratan keamanan dan kepatuhan. Ini sangat relevan untuk sistem perusahaan, layanan medis, dan platform keuangan. Pertimbangan tersebut meliputi:

  • penyimpanan kunci API yang aman;
  • enkripsi dan perlindungan data;
  • penggunaan kebijakan keamanan perusahaan.

Selain itu, penting untuk menggunakan API secara legal dan bertanggung jawab sesuai dengan hukum AS.

Kasus penggunaan perusahaan untuk request curl POST

Ada beberapa contoh request curl POST yang digunakan di lingkungan perusahaan. Ini termasuk:

  • otomatisasi layanan internal;
  • mengirim data pemantauan dan log;
  • integrasi dengan platform cloud;
  • bekerja dengan API dan mitra eksternal;
  • pengujian dan QA.

Selain itu, contoh curl POST lainnya adalah integrasi dengan sistem keamanan dan kontrol akses.

Bagaimana solusi proxy INSOCKS mendukung alur kerja curl

Solusi proxy dari INSOCKS membantu perusahaan secara efektif mengelola lalu lintas jaringan untuk kontrol terpusat, keamanan, dan penyeimbangan beban. Solusi dari INSOCKS:

  • mendukung HTTP dan SOCKS;
  • memiliki infrastruktur yang stabil;
  • memiliki kumpulan IP yang dapat disesuaikan (scalable);
  • memiliki konfigurasi yang fleksibel.
FungsiKeunggulan INSOCKS untuk pengguna curl
Proxy HTTP dan SOCKSMerutekan semua request melalui proxy terpusat
Perutean nodeKemampuan untuk menguji API di berbagai segmen dan wilayah jaringan
Penyeimbangan bebanMendistribusikan request ke beberapa titik keluar
OtomatisasiTerintegrasi penuh dengan script curl dan CI/CD

Proxy mencatat semua request dan respons untuk memastikan kepatuhan terhadap semua persyaratan.

Pertanyaan yang sering diajukan

Apa perbedaan antara -d dan --data-binary di Curl?

Opsi pertama mengirim data dalam body request, sedangkan yang kedua mengirim data apa adanya tanpa modifikasi.

Bagaimana cara saya mengirim JSON dengan request POST?

Anda perlu menyiapkan file payload JSON, mengatur header yang sesuai, dan mengirim data menggunakan atribut yang diperlukan.

Dapatkah request POST curl menggunakan token otentikasi?

Ya. Token otentikasi dapat digunakan dalam request tersebut.

Apakah Curl cocok untuk otomatisasi perusahaan?

Ya. Utilitas ini cocok untuk otomatisasi di lingkungan perusahaan.

Dapatkah curl bekerja dengan proxy?

Ya. Utilitas ini berfungsi dengan baik dengan server proxy.

2026-03-18