自己编写一个随机图片API

weiai 发布于 28 天前 706 次阅读


AI智能摘要
作者因原使用的《栗次元》API缺少跨域头导致功能失效,决定自行开发随机图片API。初期方案因香港服务器响应慢被放弃,改为从指定分类文本文件中随机选取链接并返回302跳转。在尝试《PICUI图床》和《敖武图床》均因跨域问题未果后,最终选择使用OSS存储方案。该方案通过筛选分类图片并生成5秒有效期的签名链接来防止滥用,现已部署在https://api.weiai.org.cn/,当前仅提供"fj"分类的随机图片接口。
— 此摘要由AI分析文章内容生成,仅供参考。

其实最早使用的是《栗次元》的API,但是似乎没有添加跨域头,这就导致主题色提取失败。于是寻求自己编写一个随机图片API

其实很简单,如下图,获取以下目录下所有的图片,然后用Random选一张响应就行了。

于是,新的问题产生了,因为这个接口服务器在香港,所以响应图片会很慢。兜兜转转最后还是换了个方法。

按照下面的写法,会从传入的{cat}(类型)的txt文件中随机一个链接,响应302。剩下的就简单了,找一个国内已备案的图床就行了。

接下来我寻找图床,尝试使用 《PICUI图床》,但是我发现了与栗次元相同的问题,并尝试与图床的管理员沟通,但是却得到了“直接给你退款”的回应....之后我尝试使用了《敖武图床》但是他们只支持设置指定的域名,但是却无法支持允许所有的请求头。

这就出现了一个十分尴尬的情况,我不太明白,为什么这些图床并不愿意加上跨域头,只需要允许所有的即可。

最后,我一气之下,选择了使用oss作为文件存储,反正一个月下来也没几个钱。

下面图片中的代码展示了从oss中读取所有图片

从GetOSSImg中读取所有图片,之后通过Where筛选出来指定分类的图片。之后通过签名生成一个时间只有5秒的链接(防刷量),响应302至这个链接

最后,我将API放到了https://api.weiai.org.cn/ 目前分类只有一个 fj

随机图片API为:https://api.weiai.org.cn/api/image/cdncat/fj 直接用GET调用这个链接即可

USDT图标 若您喜欢这篇内容,欢迎用TRC-USDT支持创作者

TN3pU88pu1bkUgpyBuJCG1riZecFFkpe8E

请选择TRC20协议转账,感谢您的支持 ❤️

扫描二维码转账

TRC-USDT地址二维码