获取必应 (bing.com)每日一图的高清无水印壁纸。
方发一:来自 WordPress 使用必应 (Bing) 美图作为后台登录背景
下面代码保存为 api.php 上传到服务器就行了。
调用方式:https://
<?php $str=file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'); if (preg_match("/\/(.+?).jpg/", $str, $matches)) { $imgurl='https://s.cn.bing.net'.$matches[0]; } if ($imgurl) { header('Content-Type: image/JPEG'); @ob_end_clean(); @readfile($imgurl); @flush(); @ob_flush(); exit(); } else { exit('error'); } ?>
ps. 代码中 https://s.cn.bing.net 是 bing 的域名,这个域名主要是必应搜索引擎用来存储图片的,为的是 Cookie 隔离。
方法二:来自随机显示必应每日一图,API 代码及调用方法 - 教程笔记 - 李洋个人博客 (talklee.com)
api.php,代码:
<?php //判断是否随机调用 if ($_GET['rand']==='true') { $gettime = rand(-1,7); }else{ //若不为随机调用则判断是否指定日期 $gettimebase = $_GET['day']; if (empty($gettimebase)) { $gettime = 0; }else{ $gettime = $gettimebase; } } //获取Bing Json信息 $json_string = file_get_contents('https://www.bing.com/HPImageArchive.aspx?format=js&idx='.$gettime.'&n=1'); //转换为PHP数组 $data = json_decode($json_string); //提取基础url $imgurlbase = "https://www.bing.com".$data->{"images"}[0]->{"urlbase"}; //判断是否指定图片大小 $imgsizebase = $_GET['size']; if (empty($imgsizebase)){ $imgsize = "1920x1080"; }else{ $imgsize = $imgsizebase; } //建立完整url $imgurl = $imgurlbase."_".$imgsize.".jpg"; //获取其他信息 $imgtime = $data->{"images"}[0]->{"startdate"}; $imgtitle = $data->{"images"}[0]->{"copyright"}; $imglink = $data->{"images"}[0]->{"copyrightlink"}; //判断是否只获取图片信息 if ($_GET['info']==='true') { echo "{title:".$imgtitle.",url:".$imgurl.",link:".$imglink.",time:".$imgtime."}"; }else{ //若不是则跳转 url header("Location: $imgurl"); }
调用方式:
此 API 只支持 https 调用,所有参数均仅适用于以 GET 方式进行请求,可直接插入 img 标签中
调用参数:
参数代码 | 参数含义 | 可用参数 |
rand | 是否随机显示最近 8 天内的图片 | true or false |
day | 显示指定的最近图片 | -1,0,1,2,3,4,5,6,7(0 为今天,-1 为昨天) |
size | 指定获取图片大小 | 详见下方可用分辨率 |
info | 获取图片基础信息 (json 格式) | true or |
调用链接:https://domain/api.php
不带任何参数调用,显示必应当天图片
调用链接:https://www.guanyujiang.com/api/bingapi.php?rand=true
随机显示一张图片
其他:
github 上一个项目:必应每日高清壁纸 - 精彩,从这里开始 (ioliu.cn)
示例:必应每日高清壁纸 - 精彩,从这里开始 (ioliu.cn)
但是据说经常 403,另外有修改版:skyxingcheng/bing: Bing 壁纸接口 Bing 壁纸 API (github.com)
用法举例:
用作 wordpress 登录背景:WordPress 使用必应 (Bing) 美图作为后台登录背景-云模板 (22vd.com)
用作宝塔登录背景:宝塔 Linux 面板后台登录页面如何添加必应 1920 美图作为背景图