调用别人的API,总是会获取一些不符合我审美的图片,所以考虑自己做一个API

本教程仅供参考

操作很简单。

准备工作

1.有一定闲置空间的服务器、子域名

2.网站已经备案,或者选用国外服务器

3.宝塔面板(可选)

4.一个图床

搭建图床

毕竟个人的API,图片要自己上传。所以必须要有一个可供自己使用的图床

我个人是使用兰空搭建的图床,界面简约,而且可以调用API鉴别违规图片

无需个人服务器搭建可选择GitHub+PicGo+jsDelivr

具体操作就是用PicGo配置好GitHub仓库,然后用JsDelivr给API访问加速。

缺点是调用图片还是略有些慢。教程很多,这里不过多展开

个人服务器搭建可以配置一个网页,直接导入一些图床源码。或自行编写

用个人服务器搭建调用图片会快一些。但是有一定成本

搭建API

首先建立一个新的网页,配置好子域名

如果使用宝塔后台,可直接在网站页面建立,顺带可以申请一下SSL证书。打开强制HTTPS

打开网页根目录,新建一个random.php文件。写入以下代码

<?php
//存有image链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
 
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
 
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
 
//返回指定格式
$type=$_GET['type'];
switch($type){
 
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
 
default:
    die(header("Location: $pic"));
}
?>

随后在网站根目录创建img.txt文件

将图床内图片的链接,导入

完成后保存即可

直接访问:子域名/random.php 就可以获取图片

个人API

api.moyu233.xyz/random.php #备案中


摸鱼ing