CURL类实现了对PHP Curl扩展的封装,使用该类的实例可以实现远程访问。使用该模块需要开启Curl扩展。
1、发起get请求
function get_url($url)
{
$ch = curl_init();
$header[] = "";
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
2、发起post请求
3、curl获取跳转后的网址的url
4、curl判断远程图片是否加防盗链
/*
$url @ 远程图片路径地址
$myurl @ 自己服务端的url域名
*/
function checkpic($url,$myurl="http://xiaohuihui.net"){
$curl = curl_init($url);//设置url
curl_setopt($curl, CURLOPT_REFERER, $myurl);//伪装referer(正常在地址栏输入网址能打开,因为referer是空的,而在网页中用 src 打开时referer是有内容的所以打不开,referer内容可以到浏览器控制台查看,这一步就是假装是我们的网页内打开的,来判断图片是否设置了防盗链)
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //因为我们只需要Header,所以Body就不要了吧
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
$data = curl_exec($curl); //开始执行啦~
$status=curl_getinfo($curl,CURLINFO_HTTP_CODE); //获得HTTPSTAT码
curl_close($curl); //用完记得关掉他
return ($status==200)?true:false;//如果状态码是200返回真,那状态码是403自然就返回假了。
}
5、curl获取301页面的内容
6、curl判断文件是否存在(404)
function http_status($url) {//判断状态码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_exec($ch);
$status = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
/*return ($status == 404) ? 1 : 0;*/
return $status;
}
如果存在的话输出的是200,如果不存在的话输出的是404
7、php的curl封装类

© 版权声明
文章未经允许请勿转载。
THE END
暂无评论内容