header('content-type:text/html;charset=utf-8');
functioncurlPost($url,$data,$method){
$ch= curl_init();//1.初始化
curl_setopt($ch, CURLOPT_URL,$url);//2.请求地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,$method);//3.请求方式
//4.参数如下
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容
curl_setopt($ch, CURLOPT_ENCODING,'gzip,deflate');
if($method=="POST"){//5.post方式的时候添加数据
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo= curl_exec($ch);//6.执行
if(curl_errno($ch)) {//7.如果出错
returncurl_error($ch);
}
curl_close($ch);//8.关闭
return$tmpInfo;
}
$data=array('name'=>'1234');
$url="http://www.sohu.com/";
$method="GET";
$file=curlPost($url,$data,$method);
$file=mb_convert_encoding($file,'UTF-8','GBK');
echo$file;
当cookie认证登陆的时候
[php]view plaincopy
$cookie_file= tempnam('./temp','cookie');
functionweixinPost($url,$data,$method,$setcooke=false,$cookie_file=false){
$ch= curl_init();//1.初始化
curl_setopt($ch, CURLOPT_URL,$url);//2.请求地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,$method);//3.请求方式
//4.参数如下
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
if($method=="POST"){//5.post方式的时候添加数据
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
}
if($setcooke==true){
curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie_file);
}else{
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie_file);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo= curl_exec($ch);//6.执行
if(curl_errno($ch)) {//7.如果出错
returncurl_error($ch);
}
curl_close($ch);//8.关闭
return$tmpInfo;
}
$data=array('username'=>'***','password'=>'***');
$url="http://www.xinxinj.com/login.php";
$method="POST";
$file=weixinPost($url,$data,$method,true,$cookie_file);
echo$file;
$url="http://www.xinxinj.com/admin.php";
$method="GET";
$file=weixinPost($url,$data,$method,false,$cookie_file);
echo$file;
?>
如果上述还是无法解决,那么采用以下方案
[php]view plaincopy
$ch= curl_init();
$url='*******';
$header=array(
'cookie:********'
);
// 添加apikey到header
curl_setopt($ch, CURLOPT_HTTPHEADER ,$header);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
// 执行HTTP请求
curl_setopt($ch, CURLOPT_URL ,$url);
$res= curl_exec($ch);
var_dump($res);