欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

CI 问题 curl

程序员文章站 2023-12-25 23:12:03
...

Library

public function doRequest($url, $para)
    {

        do {

            if(extension_loaded('curl')) {

                $ch = curl_init();

                $options = array(
                    CURLOPT_URL     => $url,
                    CURLOPT_HEADER  => 0,
                    CURLOPT_POST    => 1,
                    CURLOPT_POSTFIELDS      => $para,
                    CURLOPT_SSL_VERIFYPEER  => 0,
                    CURLOPT_SSL_VERIFYHOST  => 0,
                    CURLOPT_SSLVERSION      => 1,
                    CURLOPT_CONNECTTIMEOUT  => 5,
                    CURLOPT_USERAGENT       => $_SERVER['HTTP_USER_AGENT'],
                    );

                curl_setopt_array($ch, $options);

                $data = curl_exec($ch);
                $info = curl_getinfo($ch);
                $error = curl_error($ch);
                curl_close($ch);

                if(get_magic_quotes_gpc()) {

                    $data = stripslashes($data);
                }

                $decode = json_decode($data, true);

                if(json_last_error() === JSON_ERROR_NONE) {

                    $err =  array(
                        'status'    => 'success',
                        'results'   => $info,
                    );
                }
                else
                {
                    $err = array(
                        'status'    => 'failed',
                        'results'   => '返回值非JSON 类型',
                        );
                }



            } else {

                $err = array(
                    'status'    => 'failed',
                    'results'   => '请开启PHP Curl 拓展',
                    );

            }

            return $err;

        } while(0);
    }

Controller

public function how_old()
    {
        $url = config_item('how_old_url');

        $data = array(
            'isTest'   => false,
            'faceName' => 'Test',
            'faceUrl'  => 'http://www.sinaimg.cn/dy/slidenews/4_img/2015_12/704_1579346_230297.jpg',
            );

        $this->load->library('cuiqg');

        var_dump( $this->cuiqg->doRequest($url, $data))];
    }

Browser
CI 问题 curl

奇怪 没有任何 打印 他是怎么显示出来的 ,在一个 gettype() doRequest() $data 是bool 类型的 怎么处理, 还有就是这些转义字符怎么去掉 ~_~||

回复内容:

Library

public function doRequest($url, $para)
    {

        do {

            if(extension_loaded('curl')) {

                $ch = curl_init();

                $options = array(
                    CURLOPT_URL     => $url,
                    CURLOPT_HEADER  => 0,
                    CURLOPT_POST    => 1,
                    CURLOPT_POSTFIELDS      => $para,
                    CURLOPT_SSL_VERIFYPEER  => 0,
                    CURLOPT_SSL_VERIFYHOST  => 0,
                    CURLOPT_SSLVERSION      => 1,
                    CURLOPT_CONNECTTIMEOUT  => 5,
                    CURLOPT_USERAGENT       => $_SERVER['HTTP_USER_AGENT'],
                    );

                curl_setopt_array($ch, $options);

                $data = curl_exec($ch);
                $info = curl_getinfo($ch);
                $error = curl_error($ch);
                curl_close($ch);

                if(get_magic_quotes_gpc()) {

                    $data = stripslashes($data);
                }

                $decode = json_decode($data, true);

                if(json_last_error() === JSON_ERROR_NONE) {

                    $err =  array(
                        'status'    => 'success',
                        'results'   => $info,
                    );
                }
                else
                {
                    $err = array(
                        'status'    => 'failed',
                        'results'   => '返回值非JSON 类型',
                        );
                }



            } else {

                $err = array(
                    'status'    => 'failed',
                    'results'   => '请开启PHP Curl 拓展',
                    );

            }

            return $err;

        } while(0);
    }

Controller

public function how_old()
    {
        $url = config_item('how_old_url');

        $data = array(
            'isTest'   => false,
            'faceName' => 'Test',
            'faceUrl'  => 'http://www.sinaimg.cn/dy/slidenews/4_img/2015_12/704_1579346_230297.jpg',
            );

        $this->load->library('cuiqg');

        var_dump( $this->cuiqg->doRequest($url, $data))];
    }

Browser
CI 问题 curl

奇怪 没有任何 打印 他是怎么显示出来的 ,在一个 gettype() doRequest() $data 是bool 类型的 怎么处理, 还有就是这些转义字符怎么去掉 ~_~||

$url="http://how-old.net/Home/Analyze";
 $data = array(
            'isTest'   => false,
            'faceName' => 'Test',
            'faceUrl'  => 'http://www.sinaimg.cn/dy/slidenews/4_img/2015_12/704_1579346_230297.jpg',
            );

 function post( $url, $params, $cookie ="")
    {
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
        $result = curl_exec($curl);
        curl_close($curl);
        return $result;
    }

$result =  post($url,$data);
var_dump(json_decode(json_decode($result)));
相关标签: php codeigniter

上一篇:

下一篇: