Cara memposting data json dengan php curl

Cara memposting data json dengan php curl

Saat bekerja dengan API, adalah umum untuk mengirim dan menerima data dalam format JSON. Dalam PHP, Anda dapat menggunakan perpustakaan CURL untuk mengirim permintaan HTTP, termasuk mengirim data JSON dalam permintaan postingan. Di artikel ini, kami akan menunjukkan cara memposting data JSON dengan php curl dalam panduan langkah demi langkah.

Langkah 1: Atur data URL dan JSON

Langkah pertama adalah mengatur URL yang ingin Anda kirimkan permintaan dan data JSON yang ingin Anda kirimkan di badan permintaan. Untuk contoh ini, kami akan menggunakan data sampel JSON:

$ data = array ('name' => 'John doe', 'email' => '[email protected] ',' phone '=>' 1234567890 '); $ json = json_encode ($ data);
1234567$ data = array ('name' => 'John doe', 'email' => '[email dilindungi]', 'telepon' => '1234567890'); $ json = json_encode ($ data);

Dalam contoh ini, kami telah membuat berbagai data dan mengkodekannya menjadi a Json string menggunakan json_encode () fungsi.

Langkah 2: Atur opsi keriting

Langkah selanjutnya adalah mengatur opsi keriting untuk permintaan, termasuk URL, metode permintaan, dan badan permintaan. Berikut adalah contoh cara mengatur opsi keriting:

$ url = 'https: // contoh.com/API/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('tipe konten: aplikasi/json', 'panjang konten:' . strlen ($ json)));
12345678910$ url = 'https: // contoh.com/API/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); Curl_setopt ($ ch, curlopt_postfields, $ json); CURL_SETOPT ($ CH, CURLOPTECTFIELDS, $ JSON); ',' Panjang konten: ' . strlen ($ json)));

Dalam contoh ini, kami telah menetapkan opsi berikut:

  • Curlopt_ReturnTransfer: Setel ke true untuk mengembalikan respons sebagai string alih -alih mengeluarkannya langsung ke layar.
  • Curlopt_customRequest: Setel ke "Posting" untuk menentukan bahwa kami mengirim permintaan posting.
  • Curlopt_postfields: Setel ke data JSON yang ingin kami kirimkan di badan permintaan.
  • Curlopt_httpheader: Setel ke array header, termasuk header tipe konten untuk menentukan bahwa kami mengirim data JSON, dan header panjang konten untuk menentukan panjang data JSON.

Langkah 3: Kirim permintaan dan tangani tanggapannya

Langkah terakhir adalah mengirim permintaan menggunakan curl_exec () berfungsi dan menangani responsnya. Berikut adalah contoh bagaimana melakukan ini:

$ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch);
1234567$ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch);

Dalam contoh ini, kami telah menggunakan curl_exec () Fungsi untuk mengirim permintaan dan menyimpan respons di variabel $ respons. Kami juga telah memeriksa kesalahan apa pun menggunakan curl_errno () fungsi dan menampilkan pesan kesalahan jika ada kesalahan. Akhirnya, kami telah menutup pegangan ikal menggunakan curl_close () fungsi.

Langkah 4: Lengkapi skrip PHP

Setelah menggabungkan kode di atas, Anda akan mendapatkan skrip PHP fungsional lengkap yang dapat memposting data JSON ke API jarak jauh.

'John Doe', 'Email' => '[email protected] ',' phone '=>' 1234567890 '); $ json = json_encode ($ data); $ url = 'https: // contoh.com/API/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('tipe konten: aplikasi/json', 'panjang konten:' . strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>
1234567891011121314151617181920212223242526272829 'John doe', 'email' => '[email dilindungi]', 'telepon' => '1234567890'); $ json = json_encode ($ data); $ url = 'https: // contoh.com/API/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); Curl_setopt ($ ch, curlopt_postfields, $ json); CURL_SETOPT ($ CH, CURLOPTECTFIELDS, $ JSON); ',' Panjang konten: ' . strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>

Simpan konten file dan jalankan ini melalui antarmuka baris perintah php.

Kesimpulan

Di artikel ini, kami telah menunjukkan kepada Anda cara memposting data JSON dengan php curl dalam panduan langkah demi langkah. Dengan mengatur data URL dan JSON, mengatur opsi keriting, dan mengirim permintaan, dan menangani responsnya, Anda dapat dengan mudah mengirim data JSON dalam permintaan POST menggunakan PHP CURL.