PHP中使用cURL实现Get和Post请求的方法

Posted 伯牙绝音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中使用cURL实现Get和Post请求的方法相关的知识,希望对你有一定的参考价值。

cURL是php的工具类,使用时参考官方文档:http://php.net/manual/zh/book.curl.php

里面有详细的使用说明以及参数介绍。

    /**
     * @param string $url
     * @return mixed
     */
    public function doGet($url)
    {
        //初始化
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL,$url);
        // 执行后不直接打印出来
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);
        // 跳过证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // 不从证书中检查SSL加密算法是否存在
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

        //执行并获取html文档内容
        $output = curl_exec($ch);

        //释放curl句柄
        curl_close($ch);
        
        return $output;
    }

    /**
     * @param string $url
     * @param array $post_data
     * @param array | boolean $header
     * @return mixed
     */
    public function doPost($url,$post_data,$header)
    {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        // 执行后不直接打印出来
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 设置请求方式为post
        curl_setopt($ch, CURLOPT_POST, true);
        // post的变量
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        // 请求头,可以传数组
        curl_setopt($ch, CURLOPT_HEADER, $header);
        // 跳过证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // 不从证书中检查SSL加密算法是否存在
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

        $output = curl_exec($ch);
        curl_close($ch);

        return $output;
    }

其中跳过证书是为了访问https。

以上是关于PHP中使用cURL实现Get和Post请求的方法的主要内容,如果未能解决你的问题,请参考以下文章

PHP中使用cURL实现Get和Post请求的方法

PHP中使用cURL实现Get和Post请求的方法

在PHP中使用CURL实现GET和POST请求的方法

PHP中使用CURL实现GET和POST请求

PHP中使用CURL实现GET和POST请求

PHP中使用CURL实现GET和POST请求