Cara Menyiarkan Data JSON dengan PHP Curl

Cara Menyiarkan Data JSON dengan PHP Curl

Semasa bekerja dengan API, adalah perkara biasa untuk menghantar dan menerima data dalam format JSON. Di PHP, anda boleh menggunakan Perpustakaan Curl untuk menghantar permintaan HTTP, termasuk menghantar data JSON dalam permintaan pos. Dalam artikel ini, kami akan menunjukkan kepada anda cara menyiarkan data JSON dengan PHP Curl dalam panduan langkah demi langkah.

Langkah 1: Tetapkan data URL dan JSON

Langkah pertama adalah untuk menetapkan URL yang anda ingin hantar permintaan kepada dan data JSON yang anda ingin hantar dalam badan permintaan. Untuk contoh ini, kami akan menggunakan data JSON sampel:

$ data = array ('name' => 'John Doe', 'Email' => '[email protected] ',' Phone '=>' 1234567890 '); $ json = json_encode ($ data);
1234567$ data = array ('name' => 'John Doe', 'Email' => '[E -mel dilindungi]', 'Phone' => '1234567890'); $ json = json_encode ($ data);

Dalam contoh ini, kami telah membuat pelbagai data dan mengodkannya ke dalam Json rentetan menggunakan json_encode () fungsi.

Langkah 2: Tetapkan pilihan curl

Langkah seterusnya adalah untuk menetapkan pilihan curl untuk permintaan, termasuk URL, kaedah permintaan, dan badan permintaan. Berikut adalah contoh cara menetapkan pilihan curl:

$ url = 'https: // contoh.com/API/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customrequest, "pos"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('kandungan-jenis: aplikasi/json', 'kandungan panjang:' . strlen ($ json)));
12345678910$ url = 'https: // contoh.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customrequest, "pos"); curl_setopt ($ ch, curlopt_postfields, $ json); ',' Kandungan-panjang: ' . strlen ($ json)));

Dalam contoh ini, kami telah menetapkan pilihan berikut:

  • Curlopt_returntransfer: Ditetapkan kepada benar untuk mengembalikan respons sebagai rentetan dan bukannya mengeluarkannya terus ke skrin.
  • Curlopt_customrequest: Tetapkan ke "Pos" untuk menyatakan bahawa kami menghantar permintaan pos.
  • Curlopt_postfields: Tetapkan ke data JSON yang ingin kami hantar ke dalam badan permintaan.
  • Curlopt_httpheader: Tetapkan kepada pelbagai tajuk, termasuk pengepala jenis kandungan untuk menentukan bahawa kami menghantar data JSON, dan tajuk kandungan panjang untuk menentukan panjang data JSON.

Langkah 3: Hantar permintaan dan kendalikan jawapan

Langkah terakhir adalah menghantar permintaan menggunakan curl_exec () berfungsi dan mengendalikan tindak balas. Inilah contoh bagaimana melakukan ini:

$ response = curl_exec ($ ch); jika (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 () berfungsi untuk menghantar permintaan dan simpan respons dalam pemboleh ubah tindak balas $. Kami juga telah memeriksa sebarang kesilapan menggunakan curl_errno () fungsi dan memaparkan mesej ralat jika terdapat ralat. Akhirnya, kami telah menutup pemegang curl menggunakan curl_close () fungsi.

Langkah 4: Skrip PHP Lengkap

Setelah menggabungkan kod di atas, anda akan mendapat skrip PHP berfungsi penuh yang dapat menyiarkan data JSON ke API jauh.

'John Doe', 'E -mel' => '[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, "pos"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('kandungan-jenis: aplikasi/json', 'kandungan panjang:' . strlen ($ json))); $ response = curl_exec ($ ch); jika (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>
12345678910111213141516171819202122223242526272829 'John Doe', 'Email' => '[E -mel dilindungi]', '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, "pos"); curl_setopt ($ ch, curlopt_postfields, $ json); ',' Kandungan-panjang: ' . strlen ($ json))); $ response = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ response; curl_close ($ ch); ?>

Simpan kandungan fail dan jalankan ini melalui antara muka baris arahan php.

Kesimpulan

Dalam artikel ini, kami telah menunjukkan kepada anda cara menyiarkan data JSON dengan php curl dalam panduan langkah demi langkah. Dengan menetapkan data URL dan JSON, menetapkan pilihan curl, dan menghantar permintaan, dan mengendalikan respons, anda boleh dengan mudah menghantar data JSON dalam permintaan pos menggunakan php curl.