必应壁纸好像很多人喜欢,实在是GET不到你们的点。不过既然有人喜欢,那就有必要写个教程。本文将告诉你如何使用PHP获取必应每日壁纸,并写成PHP接口文件,提供给别人使用,当然是最简单的接口,懒得写,没啥用。
必应壁纸请求API
请求方法:GET
请求地址:http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1
我也不知道这个地址哪儿来的,网上一搜一大片,不深究了,测试了下完全OK,能正常使用。
请求上面的地址后,会返回一段json数据,如下所示:
{ "images": [{ "startdate": "20200702", "fullstartdate": "202007021600", "enddate": "20200703", "url": "/th?id=OHR.DogDays_ZH-CN8013834742_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp", "urlbase": "/th?id=OHR.DogDays_ZH-CN8013834742", "copyright": "卡拉哈里沙漠中的南非狐,南非 (© NSP-RF/Alamy)", "copyrightlink": "https://www.bing.com/search?q=%E5%8D%97%E9%9D%9E%E7%8B%90&form=hpcapt&mkt=zh-cn", "title": "", "quiz": "/search?q=Bing+homepage+quiz&filters=WQOskey:%22HPQuiz_20200702_DogDays%22&FORM=HPQUIZ", "wp": true, "hsh": "d74b39fe8bbfdfecd7965b10eea07639", "drk": 1, "top": 1, "bot": 1, "hs": [] }], "tooltips": { "loading": "正在加载...", "previous": "上一个图像", "next": "下一个图像", "walle": "此图片不能下载用作壁纸。", "walls": "下载今日美图。仅限用作桌面壁纸。" } }
这是一个json对象,里面装了个images数组,数组中又装的json对象。重要的数据有两个,看自己需求选择,url的值就是必应每天用的地址,urlbase的值是图片名,可以拼接不同分辨率的图片,我这里用urlbase。
简单的PHP接口
新建一个文本文件,复制如下内容,保存为1920.php文件即可,访问此文件将会返回当日必应壁纸。
<?php $str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'); $array = json_decode($str); $imgurl = 'https://cn.bing.com'.$array->{"images"}[0]->{"urlbase"}.'_1920x1080.jpg'; if($imgurl){ header('Content-Type: image/JPEG'); @ob_end_clean(); @readfile($imgurl); @flush(); @ob_flush(); exit(); }else{ exit('error'); } ?>
好像有些接口失效了,主要是图像地址域名变成了cn.bing.com。检查方法是,去必应首页,右键查看下官方的壁纸域名用的什么。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/241542.html