如何使用PHP将JSON字符串发布到REST API?

时间:2015-12-18 18:04:56

标签: php mysql json rest curl

我使用curl将一个JSON字符串发布到用PHP开发的API,但是我无法在webservice方法中获取JSON字符串。

这是我的客户使用curl:

$data = array("name" => "prachi", "age" => "24");                                                                    
$data_string = json_encode($data);                                                                                   

$ch = curl_init('http://server.com/rest/users');                                                                      
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',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   

$result = curl_exec($ch);

此处,rest是控制器类的名称,user是其中的操作。因此,在user方法中,如何获取JSON字符串?

1 个答案:

答案 0 :(得分:0)

使用$ _POST获取你的字符串,即 $ _POST ['name']和$ _POST ['age']

用curl_setopt($ ch,CURLOPT_POST,1)替换curl_setopt($ ch,CURLOPT_CUSTOMREQUEST,“POST”);