在CodeIgniter中使用Curl:如何使用post方法

时间:2015-07-27 11:42:18

标签: php codeigniter curl

尝试使用post方法发送数据时不会成功。从来没有使用它。

这是执行curl的代码:

$url = LICENSE_URL."validate_system_key/validate_key/";
        //url-ify the data for the POST
        $data['system_key']='A8Z0-X1N7-S1V2-Y1I5';
        $data['domain']='http://example.com';
            $fields_string = '';
            foreach($data as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
            $fields_string = rtrim($fields_string,'&');


            //open connection
            $ch = curl_init();

            //set the url, number of POST vars, POST data
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_POST,count($data));
            curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);

            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); # timeout after 10 seconds, you can increase it
           //curl_setopt($ch,CURLOPT_HEADER,false);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  # Set curl to return the data instead of printing it to the browser.

            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

            //execute post
            $result = curl_exec($ch);

            //close connection
            curl_close($ch);
          $result=json_decode($result,TRUE);

这是客户端网址代码:

public function validate_key(){
        $system_key=$_POST['system_key'];
        $domain=$_POST['domain'];
        $result['error']=3;
        echo json_encode($result);
}

注意:当我不使用POST方法(通过url发送数据)时,evrything很好。它全部是关于POST方法,没有弄错!任何形式的帮助将不胜感激!感谢。

1 个答案:

答案 0 :(得分:0)

在传递给字符串的数据中使用array代替String,如下所示:

foreach($data as $key=>$value) { 
 $data[$key] = $value;
}
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);

我希望这会奏效。