简单的外部随机API图片

发布于 2021-02-06  345 次阅读


简单的随机API图片

准备工作

1.一台承载网站的服务器

2.网站支持php环境

基本原理

随机图片API,原理比较简单,三步实现:

1.写一个文本文档(txt)存放图片的链接
2.当用户请求API时,php就去读取这个存放图片的txt文件,然后生成随机数来随机选取一个图片链接展示
3.302重定向到目标图片地址

解释一下302重定向:

当存放图片的源站返回301/302请求后,CDN 节点默认会将响应返回给用户端,由用户端重定向到对应的资源进行访问。通过开启回源跟随301/302配置,CDN 节点在回源时遭遇301/302时会主动跟随跳转,直至获取所需资源(最多可跟随3次),返回实际的资源给到用户端,用户端无需跳转。

实例:

用户 A 请求资源:http://cloud.tencent.com/1.jpg,在节点未命中缓存,则节点会请求源站获取所需资源,若源站返回的 HTTP Response 状态码为302,跳转指向地址为 http://cloud.tencent.com/1.jpg,则:

  1. 开启回源跟随301/302配置后,节点收到状态码为301/302的 HTTP Response 后,会直接向跳转指向的地址发起请求。
  2. 获取到所需资源后,缓存至节点,并返回给用户。
  3. 此时用户 B 也向http://cloud.tencent.com/1.jpg发起请求,则会在节点直接命中并返回给用户。
  4. 开启回源跟随301/302配置后,最多仅跟随3次跳转,超出限制则会直接返回301/302给客户。

实现

创建文件imgurl.txt用于存放cdn图片地址,如:

创建api.php文件

将imgurl.txt和api.php放在同一个网站目录下,通过访问 域名/api.php即可

如果你网站主题支持随机api图片选项设置,可以直接在设置里填上 : 域名/api.php,保存即可。


博主本人