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

  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Creavite

    Creavite

    8 Mart 2009
  • Shameless Maya

    Shameless Ma

    24 Mayıs 2012