ตอนนี้อาจจะมีคนกำลังหาวิธี POST json ด้วย curl ของ PHP อยู่ หุหุ มาถูกที่แล้วครับ เดี๋ยวบทความนี้จะให้ตัวอย่างเกี่ยวกับการ POST json ด้วย curl กัน หลังจากที่งมๆ อยู่นาน ^^ ซึ่งผมก็จะต่อยอดจากการใช้ curl ในการดีง feed rss ที่แสดงตัวอย่างการใช้งาน curl เพื่อดึง rss มาแสดงบนเว็บครับ
เอาล่ะ เริ่มด้วยโค้ดตัวอย่างพร้อมกับอธิบายไปด้วยก็แล้วกันเดี๋ยวมันจะไปกันใหญ่
$data = array("link" => "http://www.imooh.com", "title" => "Imooh's Blog"); //ข้อมูลที่ต้องการโพส $data_string = json_encode($data); //ทำให้เป็น json ด้วยฟังก์ชัน json_encode $ch = curl_init('http://www.imooh.com/'); //ตรงนี้อย่าลืมเปลี่ยนเป็น url ที่ต้องการส่งค่าไปนะครับ //ในกรณีที่ต้องการส่งเป็น method อื่น เช่น DELETE, PUT, HEAD ก็เปลี่ยนได้ที่นี่ครับ curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', //ระบุว่าค่าที่ส่งไปเป็นแบบ json 'Content-Length: ' . strlen($data_string)) //บอกขนาดของ json ที่ส่งไปด้วย ); $result = curl_exec($ch); curl_close($ch);