当前位置:Gxlcms > PHP教程 > php类方法里调用curl(),不成功

php类方法里调用curl(),不成功

时间:2021-07-01 10:21:17 帮助过:24人阅读

class Qq_api {

    private $list;

    function __construct() {
        $this->list['dsp_id'] = DSP_ID;
        $this->list['token'] = TOKEN;
    }

    function curl_post($end = '') {
$ch = curl_init(URL.$end);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    }

    function sync() {
        $this->curl_post('sync');


        $arr = array();



curl_setopt($ch, CURLOPT_POSTFIELDS,$arr);
$result = curl_exec($ch);
var_dump($result);


    }   
}

提示:Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in C:\AppServ\www\qq_api2.php on line 45

我是在方法里调用curl(),好像curl()只能在_construct()里面初始化吧,如果是为什么?

回复内容:

class Qq_api {

    private $list;

    function __construct() {
        $this->list['dsp_id'] = DSP_ID;
        $this->list['token'] = TOKEN;
    }

    function curl_post($end = '') {
$ch = curl_init(URL.$end);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    }

    function sync() {
        $this->curl_post('sync');


        $arr = array();



curl_setopt($ch, CURLOPT_POSTFIELDS,$arr);
$result = curl_exec($ch);
var_dump($result);


    }   
}

提示:Warning: curl_setopt(): supplied argument is not a valid cURL handle resource in C:\AppServ\www\qq_api2.php on line 45

我是在方法里调用curl(),好像curl()只能在_construct()里面初始化吧,如果是为什么?

不好意思,封贴.乱试试出来了。

在类里的方法声明的变量$ch是局部的,把所有$ch地方改成$this->ch就行了

    function curl_post($end = '') {
$this->ch = curl_init(URL.$end);
curl_setopt($this->ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
    }

人气教程排行