CURL类

乱编乱写 3491 Views 0 Comments

CURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持CURL库。使用PHP的CURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容。

    /**
* @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;
    }

使用方法

// 发送请求
$result = self::curl('网址', '参数', true);
// 收到的数据需要转化一下
$json = json_decode($result);

标签: 代码, 浏览器, 木马, HTML,

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
loading