bing 每日一图 api

获取必应 (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
以上所有参数均非必要,默认参数为 rand=false,day=0,size=1920×1080,info=false

调用链接: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 美图作为背景图

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注