Curl请求

function put_by_form($url, $data, $header = array(), $timeout = 10)
{
    $ch = curl_init();
    if (!empty($data))
    {
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    }
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    
    curl_close($ch);
    return $output;
    
}

function put_by_json($url, $data, $header = array(), $timeout = 10)
{
    $data = json_encode($data);
    $ch = curl_init();
    
    if (!empty($data)) 
    {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    
    $header[] = 'Content-Type: application/json; charset=utf-8';
    
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置超时时间:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    
    curl_close($ch);
    return $output;
}

function get($url, $data, $header = array(), $timeout = 10)
{
    $ch = curl_init();
    if (!empty($data))
    {
        $url .= "?".http_build_query($data);
    }
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //为true,则会跟踪爬取重定向页面,否则,不会跟踪重定向页面
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //设置超时时间:30s
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //忽略ssl检测
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //1 或 TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。-
    curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    
    curl_close($ch);
    return $output;
    
}

function GetMillisecond() { 
    return intval(microtime(1) * 1000); 
}


function GetRandStr($length)
{
    $str = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 
                'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 
                't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D', 
                'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O', 
                'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', 
                '0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
    $keys = array_rand($str, $length); 
    $password = '';
    for($i = 0; $i < $length; $i++)
    {
        $password .= $str[$keys[$i]];
    }
    return $password;
}

posted @   xingduo  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示