最新消息: 新版网站上线了!!!

php curl采集https

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: Administrator 
  5.  * Date: 2016/6/23 
  6.  * Time: 12:39 
  7.  */ 
  8. function curlPost($url$data = array(), $timeout = 30, $CA = true){ 
  9.  
  10.     $cacert = getcwd() . '/cacert.pem'//CA根证书 
  11.     $SSL = substr($url, 0, 8) == "https://" ? true : false; 
  12.  
  13.     $ch = curl_init(); 
  14.     curl_setopt($ch, CURLOPT_URL, $url); 
  15.     curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
  16.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout-2); 
  17.     if ($SSL && $CA) { 
  18.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);   // 只信任CA颁布的证书 
  19.         curl_setopt($ch, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布) 
  20.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配 
  21.     } else if ($SSL && !$CA) { 
  22.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书 
  23.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 检查证书中是否设置域名 
  24.     } 
  25.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
  26.     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); //避免data数据过长问题 
  27.     curl_setopt($ch, CURLOPT_POST, true); 
  28.     curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
  29.     //curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); //data with URLEncode 
  30.  
  31.     $ret = curl_exec($ch); 
  32.  //   var_dump(curl_error($ch));  //查看报错信息 
  33.  
  34.     curl_close($ch); 
  35.     return $ret
  36. $subject = curlPost('https://app.kuitao8.com/index.php'); 
  37. print_r($subject); 

证书下载

http://img.kuitao8.com/uploads/2014/0601/20140601044614237.rar

参考地址

http://www.kuitao8.com/20140601/2583.shtml

转载请注明:谷谷点程序 » php curl采集https