今早在浏览自己博客的时候,发现谷歌浏览器的小绿锁没了,很不爽。看了一下,是因为主题默认调用的缩略图接口非SSL,左找右找没找到合适api,但是却发现了另外一个接口,所以决定索性自己封装一个。
封装方法:调用返回图片地址、再 header跳转一下,很简单。
Ps:可能是因为调用的人比较多吧,感觉速度有点慢;等有空用Python爬一下,自己彻底做一个。
本页博文第一张图即调用,刷新就会改变。
实现代码:
/*
* Author:小珏
* Uptime:2018-10-8,11:36
* 博客地址:https://qzone.work/
* 接口地址:https://acg.toubiec.cn/
*/
$api = 'https://acg.toubiec.cn/random?return=json';
$ret = json_decode ( get_curl ( $api, $data ), true );
header ( "Location:" . $ret ['acgurl'] );
function get_curl($url, $post = 0, $referer = 0, $cookie = 0, $header = 0, $ua = 0, $nobaody = 0) {
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );
$httpheader [] = "Accept:*/*";
$httpheader [] = "Accept-Encoding:gzip,deflate,sdch";
$httpheader [] = "Accept-Language:zh-CN,zh;q=0.8";
$httpheader [] = "Connection:close";
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $httpheader );
if ($post) {
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post );
}
if ($header) {
curl_setopt ( $ch, CURLOPT_HEADER, true );
}
if ($cookie) {
curl_setopt ( $ch, CURLOPT_COOKIE, $cookie );
}
if ($referer) {
if ($referer == 1) {
curl_setopt ( $ch, CURLOPT_REFERER, 'http://m.qzone.com/infocenter?g_f=' );
} else {
curl_setopt ( $ch, CURLOPT_REFERER, $referer );
}
}
if ($ua) {
curl_setopt ( $ch, CURLOPT_USERAGENT, $ua );
} else {
curl_setopt ( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" );
}
if ($nobaody) {
curl_setopt ( $ch, CURLOPT_NOBODY, 1 );
}
curl_setopt ( $ch, CURLOPT_ENCODING, "gzip" );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
$ret = curl_exec ( $ch );
curl_close ( $ch );
return $ret;
}
?>