AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

curl方法实例

51自学网 2016-09-17 http://www.wanshiok.com
 function request_url($url, $post = array(), $is_async = FALSE, $retry = 0, $verify_ssl = false){    if (empty($url)) return '';    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $url);    // 需要以post的方式发送的数据    if (!empty($post)) {        curl_setopt($ch, CURLOPT_POST, true);        curl_setopt($ch, CURLOPT_POSTFIELDS, is_array($post) ? http_build_query($post): $post);    }    // HTTPS    if (!$verify_ssl) {        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在    }    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    curl_setopt($ch, CURLOPT_MAXREDIRS, 5);    curl_setopt($ch, CURLOPT_AUTOREFERER, true); // 自动设置Referer    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回curl获取到的内容而不是直接输出    curl_setopt($ch, CURLOPT_HEADER, false); // 不显示返回的header内容    curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 5秒超时    $content = curl_exec($ch);    if($content === false){        Log::info('Http request message :'.curl_error($ch));    }    // 重试    if ($retry > 0 && $content === false) {        $try = 0;        do {            $content = curl_exec($ch); ++$try;        }        while ($content === false && $try <= $retry);    }    /*$content === false && Log::error('helper request_url', array(        'message' => curl_error($ch),        'line' => curl_errno($ch),        'url' => $url,        'data' => $post,    ));*/    // 处理BOM    /*if (preg_match('/^/xEF/xBB/xBF/', $content)) {        $content = substr($content, 3);    }*/    curl_close($ch);    return $content;}



说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:php比较通用的公共函数  下一篇:递归算法计算文件夹的大小