SORU
1 Mayıs 2009, Cuma


Nasıl curl ile PHP için JSON post

Yol kapalı Bankası olabilirim, ama tüm öğleden sonra bir PHP çerçeve öğretici bu tatilde the curl post command çalıştırmak için çalışıyorum. Benim PHP POST yorumlamak gerekiyordu nasıl olduğunu anlamadığım şey, her zaman boş bir dizi gibi geliyor.

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

(Orada slash sadece beni aptal yerine getirmek değil, ama windows PHP 5.2, Linux curl) ile Linux sunucu, aynı bir versiyonu üzerinde çalıştı da kullanarak bu infaz ettim

Oldukça basit görünüyor çünkü kaçırdığım bir şeyler olmalı, post doğru yorumlanması değil, eğer öyle olsaydı, her şey mükemmel çalışır.

Bunu geri alıyorum

HTTP/1.1 409 Conflict
Date: Fri, 01 May 2009 22:03:00 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
X-Powered-By: PHP/5.2.6
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

{"screencast":{"id":null,"subject":null,"body":null,
         "dataUrl":null,"dataMedium":null,"createdOn":null,"author":null}}

CEVAP
1 Mayıs 2009, Cuma


$_POST dizi doldurulmadığını neden Jordans analiz doğru. Ancak, kullanabilirsiniz

$data = file_get_contents("php://input");

sadece http cesedi almak ve kendi başına hallet. PHP input/output streams bkz.

Protokolü bir bakış açısıyla bu zaten http çoklu form veri işleme olmadığına göre aslında daha doğru olur. Ayrıca, isteğinizi gönderirken içerik türü json olarak uygulama/kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • lilstevie89

    lilstevie89

    25 Mart 2011