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

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • jkimisyellow

    jkimisyellow

    6 Mayıs 2009
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009