<?php
//初步
function http_curl1($url){
//1.初始化curl
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //设置url
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置返回结果而不是直接显示
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 禁止 cURL 验证对等证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁止检查服务器SSL证书
//3.采集
$output=curl_exec($ch);
if(curl_errno($ch)){
curl_close($ch); //关闭
return curl_error($ch); //请求失败,返回错误信息
}else{
curl_close($ch);//关闭
return $output; //请求成功
}
}
// $res = http_curl1('https://www.51zuso.com/admin/p/1413.html');
// print_r($res);
//获取登陆cookie
function http_curl2($url){
//1.初始化curl
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //设置url
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置返回结果而不是直接显示
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 禁止 cURL 验证对等证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁止检查服务器SSL证书
$data = array('userName'=>'admin','password'=>'123456'); //post数据
curl_setopt($ch,CURLOPT_POST,true); //常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));//全部数据使用HTTP协议中的"POST"操作来发送,http_build_query将数组转换为URL请求字符串,否则有些时候可能服务端接收不到参数
curl_setopt($ch,CURLOPT_COOKIEJAR,'E:/WWW/51c/coo.txt'); //保存cookie文件到指定目录
//3.采集
$output=curl_exec($ch);
if(curl_errno($ch)){
curl_close($ch); //关闭
return curl_error($ch); //请求失败,返回错误信息
}else{
curl_close($ch);//关闭
return $output; //请求成功
}
}
//$res = http_curl2('https://www.51zuso.com/user/login');
//print_r($res);
//带上cookie请求
function http_curl3($url){
//1.初始化curl
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //设置url
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置返回结果而不是直接显示
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 禁止 cURL 验证对等证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁止检查服务器SSL证书
curl_setopt($ch,CURLOPT_COOKIEFILE,'E:/WWW/51c/coo.txt'); //带上cookie
//3.采集
$output=curl_exec($ch);
if(curl_errno($ch)){
curl_close($ch); //关闭
return curl_error($ch); //请求失败,返回错误信息
}else{
curl_close($ch);//关闭
return $output; //请求成功
}
}
// $res = http_curl3('https://www.51zuso.com/admin/p/1413.html');
// print_r($res);
//带上cookie请求 + 构造ip + 构造来路 + 构造浏览器
function http_curl4($url){
//1.初始化curl
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url); //设置url
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置返回结果而不是直接显示
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 禁止 cURL 验证对等证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁止检查服务器SSL证书
curl_setopt($ch,CURLOPT_COOKIEFILE,'E:/WWW/51c/coo.txt'); //带上cookie
curl_setopt($ch, CURLOPT_HTTPHEADER, randIp()); //构造ip
curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com"); //构造来路
curl_setopt($ch, CURLOPT_USERAGENT, randUseragent()); //构造浏览器
//3.采集
$output=curl_exec($ch);
if(curl_errno($ch)){
curl_close($ch); //关闭
return curl_error($ch); //请求失败,返回错误信息
}else{
curl_close($ch);//关闭
return $output; //请求成功
}
}
//定义伪造IP来源段,这里我找的是百度的IP地址
function randIp(){
$cip = '123.125.68.'.mt_rand(0,254);
$xip = '125.90.88.'.mt_rand(0,254);
$header = array(
'CLIENT-IP:'.$cip,
'X-FORWARDED-FOR:'.$xip,
);
return $header;
}
//构造浏览器
function randUseragent(){
$useragent = array(
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)',
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
'Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1',
'Opera/9.27 (Windows NT 5.2; U; zh-cn)',
'Opera/8.0 (Macintosh; PPC Mac OS X; U; en)',
'Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13'
);
return $useragent[array_rand($useragent)];
}
$res = http_curl4('https://www.51zuso.com/admin/p/1413.html');
print_r($res);
?>