车头7.6版本不支持采集https协议的网站,采集网址的时候会提示:请求 默认页 当前页出现错误:未将对象引用设置到对象的实例。Void Proc(System.Net.HttpWebRequest)
解决这个其实很简单,可以通过php进行抓取数据,代码如下:
<?php
header("Content-Type:text/html;charset=UTF-8");
//error_reporting(0);
date_default_timezone_set('Asia/Shanghai');
$url=isset($_GET['url'])?$_GET['url']:'';
set_time_limit(60);
$data=get_web_page($url);
//preg_match("/<title>(.*)<\/title>/U",$data,$Set_3);//券id
//print_r($Set_3);
echo $data;
//打开网页
function get_web_page($url){
$options = array(
CURLOPT_RETURNTRANSFER => true, //返回网页
CURLOPT_HEADER => false, //不返回头信息
CURLOPT_ENCODING => "gzip,deflate", //处理编码
CURLOPT_SSL_VERIFYPEER => 0, //验证对等证书
CURLOPT_SSL_VERIFYHOST => 0, //检查服务器SSL证书
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 SE 2.X MetaSr 1.0", // 设置UserAgent
CURLOPT_AUTOREFERER => true, //引用页重定向
CURLOPT_CONNECTTIMEOUT => 120, //连接超时
CURLOPT_TIMEOUT => 20, //回复超时
CURLOPT_MAXREDIRS => 10, //最多的HTTP重定向的数量
);
$ch = curl_init($url);
curl_setopt_array($ch,$options);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
?>
把代码下载下来另存为 gethttps.php,把他放在网站根目,调用的时候url=你要采集的网址,如
http://****.com/gethttps.php?url=https://xxx.com/post/268.html
注意,你的网站不能是HTTPS
也可以直接安装 GEThttps.dll 插件,具体用法,请自行下载测试。
源码下载: