cURL 是一个利用 URL 语法规定来传输文件和数据的工具,支持很多协议,如 HTTP、FTP、TELNET 等。最爽的是,PHP 也支持 cURL 库。使用 PHP 的 cURL 库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容.
在我们写 SOA 服务化项目的时候, 总是要定义许多 API 接口为功能提供服务, 那么这个时候 cURL 就发挥了它巨大的作用. 这里分享一下自己封装的 cURL 方法
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46  | 
						    /**      * @param $url 请求网址      * @param bool $params 请求参数      * @param int $ispost 请求方式      * @param int $https https协议      * @return bool|mixed      */     public static function curl($url, $params = false, $ispost = 0, $https = 0)     {         $httpInfo = array();         $ch = curl_init();         curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);         curl_setopt($ch, CURLOPT_TIMEOUT, 30);         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);         if ($https) {             curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在         }         if ($ispost) {             curl_setopt($ch, CURLOPT_POST, true);             curl_setopt($ch, CURLOPT_POSTFIELDS, $params);             curl_setopt($ch, CURLOPT_URL, $url);         } else {             if ($params) {                 if (is_array($params)) {                     $params = http_build_query($params);                 }                 curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);             } else {                 curl_setopt($ch, CURLOPT_URL, $url);             }         }         $response = curl_exec($ch);         if ($response === FALSE) {             //echo "cURL Error: " . curl_error($ch);             return false;         }         $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);         $httpInfo = array_merge($httpInfo, curl_getinfo($ch));         curl_close($ch);         return $response;     }  | 
					
| 
					 1 2 3 4  | 
						// 发送请求 $result = self::curl('网址', '参数', true); // 收到的数据需要转化一下 $json = json_decode($result);  | 
					
from:https://laravel-china.org/articles/2768/easy-to-use-curl-class