学习教程

360壁纸api不支持https?不存在的

广告
广告

之前有使用过孟坤博客发布的自采集壁纸源码,里面的图片来源便是360壁纸api,我在使用过程中有发现由于我的博客开启了https打开网站会发现小绿锁消失了或者直接提示不安全,壁纸图片也不一定加载的出来,后来发现是由于360壁纸api输出的图片全是http协议,加上之前有看到过360图片有有一个特点,支持https的图床是此种三级域名格式https://p2.ssl.qhimg.com而不支持https的图床是http://p6.qhimg.com这种去处了ssl的二级域名格式,并且p0至p5开头的三级域名都是支持https协议的,因此我做了如下修改:

<?php
$cid = getParam('cid', '360new');
switch ($cid) {
    case '360new':
        // 360壁纸 新图片
        $start = getParam('start', 0);
        $count = getParam('count', 10);
        $find = array('http:\\/\\/p0.qhimg.com', 'http:\\/\\/p1.qhimg.com', 'http:\\/\\/p2.qhimg.com', 'http:\\/\\/p3.qhimg.com', 'http:\\/\\/p4.qhimg.com', 'http:\\/\\/p5.qhimg.com', 'http:\\/\\/p6.qhimg.com', 'http:\\/\\/p7.qhimg.com', 'http:\\/\\/p8.qhimg.com', 'http:\\/\\/p9.qhimg.com', 'http:\\/\\/p10.qhimg.com', 'http:\\/\\/p11.qhimg.com', 'http:\\/\\/p12.qhimg.com', 'http:\\/\\/p13.qhimg.com', 'http:\\/\\/p14.qhimg.com', 'http:\\/\\/p15.qhimg.com', 'http:\\/\\/p16.qhimg.com', 'http:\\/\\/p17.qhimg.com', 'http:\\/\\/p18.qhimg.com', 'http:\\/\\/p19.qhimg.com', 'http:\\/\\/p20.qhimg.com', 'http:\\/\\/p21.qhimg.com', 'http:\\/\\/p22.qhimg.com', 'http:\\/\\/p23.qhimg.com', 'http:\\/\\/p24.qhimg.com', 'http:\\/\\/p25.qhimg.com');
        echo str_replace($find, 'https:\\/\\/p2.ssl.qhimg.com', file_get_contents("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByOrder&order=create_time&start={$start}&count={$count}&from=360chrome"));
        break;
    default:
        $start = getParam('start', 0);
        $count = getParam('count', 10);
        $find = array('http:\\/\\/p0.qhimg.com', 'http:\\/\\/p1.qhimg.com', 'http:\\/\\/p2.qhimg.com', 'http:\\/\\/p3.qhimg.com', 'http:\\/\\/p4.qhimg.com', 'http:\\/\\/p5.qhimg.com', 'http:\\/\\/p6.qhimg.com', 'http:\\/\\/p7.qhimg.com', 'http:\\/\\/p8.qhimg.com', 'http:\\/\\/p9.qhimg.com', 'http:\\/\\/p10.qhimg.com', 'http:\\/\\/p11.qhimg.com', 'http:\\/\\/p12.qhimg.com', 'http:\\/\\/p13.qhimg.com', 'http:\\/\\/p14.qhimg.com', 'http:\\/\\/p15.qhimg.com', 'http:\\/\\/p16.qhimg.com', 'http:\\/\\/p17.qhimg.com', 'http:\\/\\/p18.qhimg.com', 'http:\\/\\/p19.qhimg.com', 'http:\\/\\/p20.qhimg.com', 'http:\\/\\/p21.qhimg.com', 'http:\\/\\/p22.qhimg.com', 'http:\\/\\/p23.qhimg.com', 'http:\\/\\/p24.qhimg.com', 'http:\\/\\/p25.qhimg.com');
        echo str_replace($find, 'https:\\/\\/p2.ssl.qhimg.com', file_get_contents("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={$cid}&start={$start}&count={$count}&from=360chrome"));
}
function getParam($key, $default = '')
{
    return trim($key && is_string($key) ? isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $default) : $default);
}

使用php的str_replace函数对360壁纸api输出的所有非https协议链接进行替换
上面的代码是我从孟坤壁纸源码里面进行过修改的,里面去处了壁纸标签(分类)和必应api
如果你不想去处壁纸标签(分类)和必应壁纸api的话可以直接复制下面的代码放置在源文件里面

$find = array('http:\\/\\/p0.qhimg.com', 'http:\\/\\/p1.qhimg.com', 'http:\\/\\/p2.qhimg.com', 'http:\\/\\/p3.qhimg.com', 'http:\\/\\/p4.qhimg.com', 'http:\\/\\/p5.qhimg.com', 'http:\\/\\/p6.qhimg.com', 'http:\\/\\/p7.qhimg.com', 'http:\\/\\/p8.qhimg.com', 'http:\\/\\/p9.qhimg.com', 'http:\\/\\/p10.qhimg.com', 'http:\\/\\/p11.qhimg.com', 'http:\\/\\/p12.qhimg.com', 'http:\\/\\/p13.qhimg.com', 'http:\\/\\/p14.qhimg.com', 'http:\\/\\/p15.qhimg.com', 'http:\\/\\/p16.qhimg.com', 'http:\\/\\/p17.qhimg.com', 'http:\\/\\/p18.qhimg.com', 'http:\\/\\/p19.qhimg.com', 'http:\\/\\/p20.qhimg.com', 'http:\\/\\/p21.qhimg.com', 'http:\\/\\/p22.qhimg.com', 'http:\\/\\/p23.qhimg.com', 'http:\\/\\/p24.qhimg.com', 'http:\\/\\/p25.qhimg.com');
 echo str_replace($find, 'https:\\/\\/p2.ssl.qhimg.com', file_get_contents("http://wallpaper.apc.360.cn/index.php?c=WallPaper&a=getAppsByCategory&cid={$cid}&start={$start}&count={$count}&from=360chrome"));

WordPress无需插件实现头像改成用户名首字母

上一篇

不值一文的老奶奶

下一篇

你也可能喜欢

360壁纸api不支持https?不存在的

长按储存图像,分享给朋友

微信扫一扫

微信扫一扫