正在为你努力加载中........

点滴记录 分享
25
2014-9
首页 >> php >> 如何curl 采集302 前的页面

如何curl 采集302 前的页面

function curl_main($url)
{
$curl = curl_init();
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, $url);
// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//禁用后cURL将终止从服务端进行验证。使用CURLOPT_CAINFO选项设置证书使用CURLOPT_CAPATH选项设置证书目录 如果CURLOPT_SSL_VERIFYPEER(默认值为2)被启用,CURLOPT_SSL_VERIFYHOST需要被设置成TRUE否则设置为FALSE。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//1 检查服务器SSL证书中是否存在一个公用名(common name)。译者注:公用名(Common Name)一般来讲就是填写你将要申请SSL证书的域名 (domain)或子域名(sub domain)。2 检查公用名是否存在,并且是否与提供的主机名匹配。
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

/* curl_setopt($curl, CURLOPT_VERBOSE, true);

curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');

curl_setopt($curl, CURLOPT_TIMEOUT, 20); 
curl_setopt($curl, CURLOPT_AUTOREFERER, true); */

//模拟浏览器
curl_setopt($curl,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0); // 302 redirect

// 运行cURL,请求网页
$data = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
// 显示获得的数据
return $data;
}

$url = "http://www.etmall.com.tw/Pages/ProductDetail.aspx?StoreID=6049&CategoryID=28547&ProductSKU=1417532";
$bodys = curl_main($url);

作者:一根烟的寂寞 分类:php
浏览:2403 评论:0

发表评论: