goodfish
美好的星空总在天的那一边
Goodfish's blog

api初探——随机图片

起因

因为网上的很多API都没有用SSL证书加密,火狐用户在浏览时就会很煎熬

比方说

我的博客采用SSL证书加密通信

但我用了一个获取漫画图像的API,这个API返回的图像是一个外链,但这个外链没有用SSL

这就会导致我间接的引用了《不安全》的内容

在其他的浏览器还好

可是在火狐这种偏向web开发者的浏览器就会变成这个样子

虽然用的是https协议,但在其中混合了http协议的文件

在火狐中就会这样

正常应该是这样:

作为一个精致男孩怎能容忍自己的网站出现这么大的问题呢

于是我做出了一个违背祖宗的决定:

我要自己搭API!

搭建过程

准备工作

首先肯定是先绑定一个api域名

我用的是api.goodfish.site

因为我要做获取漫画图像的API

搜集返回照片

所以第一步就是搜集漫画图片

我的来源有:

  1. 表情包(高清)
  2. 动漫截图
  3. 其他API(Doge

接着,搜集完图片后就可以着手随机图片的代码了

随机代码

代码是直接去CSDN上搜索的

准备图片—>书写路径—>书写php文件
在img文件夹里新建img.txt,文件中直接写图片的URL地址,如:

https://static.likepoems.com/2020/10/06/385ea1c4c8b4fbac57f5a0aa61f033761.jpg
https://static.likepoems.com/2021/06/12/20210126104630786.png

新建index.php文件。文件内容如下:

<?php
//存放api随机图链接的文件名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"));
}

?>

然后放在服务器里面的api文件夹里,绑定域名,记得开启php环境
访问路径:你的域名/api/img

——出自CSDN代码实现

配置细节

在全都做好之后就是轻车熟路的配置SSL

因为有宝塔面板的缘故,所以很容易就加上了SSL

结束了?

NO,NO,NO

还有一个很重要的被我们忘记了

那就是CDN

CDN

API响应速度快的秘诀之一就是CDN

CDN也很简单,就是在服务器和用户之间加一道墙

大家可自行去百度

证书透明

还有证书透明怎么能少呢

于是就加上了他俩

欢迎大家使用我的api:API

今天的内容就到这里了,喜欢的话不妨点个like

Bye,Bye

赞赏
评论需要审核后才能显示,与内容无关的评论、灌水评论、广告等不会通过审核

本站的所有教程均博主亲身尝试后的经验,且未注明的均为原创

本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可 本文链接:https://blog.goodfish.site/index.php/2023/05/14/api%e5%88%9d%e6%8e%a2-%e9%9a%8f%e6%9c%ba%e5%9b%be%e7%89%87/

goodfish

文章作者

Goodfish's blog

api初探——随机图片
起因 因为网上的很多API都没有用SSL证书加密,火狐用户在浏览时就会很煎熬 比方说 我的博客采用SSL证书加密通信 但我用了一个获取漫画图像的API,这个API返回的图像是一个外…
扫描二维码继续阅读
2023-05-14
aa