Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah data cURL POST JSON saya ditafsirkan sebagai kosong dalam PHP?

Mengapakah data cURL POST JSON saya ditafsirkan sebagai kosong dalam PHP?

DDD
Lepaskan: 2024-11-19 03:34:02
asal
569 orang telah melayarinya

Why is my cURL POST JSON data interpreted as empty in PHP?

Menyiarkan JSON ke PHP Menggunakan cURL: Isu dengan Tafsiran Data

Dalam percubaan untuk melaksanakan perintah cURL POST dalam rangka kerja PHP rehat , pengguna menghadapi kesukaran untuk mentafsir data yang disiarkan. Khususnya, parameter POST -d tidak dikenali seperti yang dijangkakan, mengakibatkan tatasusunan kosong.

Pernyataan Masalah

Seorang pengguna cuba menggunakan arahan cURL:

curl -i -X POST -d '{"screencast":{"subject":"tools"}}'  \         
http://localhost:3570/index.php/trainingServer/screencast.json
Salin selepas log masuk

Walaupun melaksanakan arahan pada kedua-dua Windows (PHP 5.2) dan Linux (PHP yang sama versi), data POST tidak ditafsirkan dengan betul. Respons pelayan menunjukkan tatasusunan "siaran skrin" kosong, seperti yang dilihat di bawah:

{"screencast":{"id":null,"subject":null,"body":null,
         "dataUrl":null,"dataMedium":null,"createdOn":null,"author":null}}
Salin selepas log masuk

Penyelesaian

Isu berpunca daripada andaian lalai cURL bahawa parameter -d menentukan data berkod bentuk. Untuk menyelesaikan masalah ini, parameter -H mesti digunakan untuk menentukan Jenis Kandungan sebagai JSON:

curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \
http://localhost:3570/index.php/trainingServer/screencast.json
Salin selepas log masuk

Dengan pengubahsuaian ini, cURL mentafsir data JSON yang disiarkan dengan betul dan operasi POST berjaya.

Atas ialah kandungan terperinci Mengapakah data cURL POST JSON saya ditafsirkan sebagai kosong dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan