MarkJane
4/12/2017 - 7:47 AM

php-curl.php

<?php

function curl_http($url, $data = '', $method = 'GET', $not_ssl = false)
{
    $curl = curl_init(); // 启动一个CURL会话  
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址  
    if ($not_ssl) {
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
    }
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转  
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer  
    if ($method == 'POST') {
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求  
        if ($data != '') {
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); // Post提交的数据包  
        }
    }
    /*$headers = array(
        'User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
        'Referer:http://www.test.com'
    );*/
    //curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);//设置header
    curl_setopt($curl, CURLOPT_TIMEOUT, 60); // 设置超时限制防止死循环  
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容  
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回  
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
        var_dump(curl_error($curl));
        throw new Exception(curl_error($curl));
        return false;
    }
    curl_close($curl); // 关闭CURL会话
    return $tmpInfo; // 返回数据  
}