Administrator
发布于 2024-12-03 / 26 阅读
0
0

Bing每日一图做首页背景

背景

halo博客的首页一直都是同一张图片,时间长了有点视觉疲劳,希望首页能够每天变化,刚好Bing的每日壁纸满足这个需求,且图片质量都挺不错的,于是通过CF+子域名,将自定义链接重定向到Bing的每日壁纸图片链接

这个链接是Bing每日壁纸的官方API,这个API返回的images属性里就是图片的路径

https://www.bing.com 拼接路径得到链接,如

https://www.bing.com/th?id=OHR.SnowMoose_ZH-CN3364979952_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp

基本原理清楚了,接下来在CF上配置

配置cloudflare

登录cloudflare,左侧功能栏选择“workers和pages”,点击“创建”,“创建worker”,直接点击“部署”,点击“编辑代码”,然后将下面的代码替换进去

 addEventListener('fetch', event => {
 ​
  event.respondWith(handleRequest(event.request))
 ​
 })
 ​
 ​
 ​
 async function handleRequest(request) {
 ​
  const bingUrl = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN';
 ​
  
 ​
  try {
 ​
   *// 获取 Bing 壁纸的 JSON 数据*
 ​
   const response = await fetch(bingUrl);
 ​
   const data = await response.json();
 ​
   
 ​
   *// 获取图片的 URL*
 ​
   const imageUrl = `https://www.bing.com${data.images[0].url}`;
 ​
   
 ​
   *// 返回 302 重定向,跳转到图片 URL*
 ​
   return Response.redirect(imageUrl, 302);
 ​
  } catch (error) {
 ​
   return new Response('Failed to fetch Bing wallpaper', { status: 500 });
 ​
  }
 ​
 }

点击“部署”,就能通过cloudflare自动生成的链接进行访问

正常这一步就结束了,但是cloudflare的workers域名国内不能访问,所以如果有一个自己的域名,可以将该worker配置到自己的域名上,就能正常访问了

配置域名

进入该worker的配置页面

添加一条“域”或者“路由”

“域”可以将一个域名或子域名解析到该worker,“路由”可以将某个路径(可以存在通配符)解析到该worker,我这里配置的是“路由”

至此,就可以通过我们的域名重定向到Bing的今日壁纸了

我是halo博客,其它类型的博客应该也是对应的操作,进入对应功能设置首页背景图

https://wallpaper.xsto.top/today这是我配置好的链接,可以直接使用

https://wallpaper.xsto.top/random 近7日随机壁纸

看样例



评论