起因
因为网上的很多API都没有用SSL证书加密,火狐用户在浏览时就会很煎熬
比方说
我的博客采用SSL证书加密通信
但我用了一个获取漫画图像的API,这个API返回的图像是一个外链,但这个外链没有用SSL
这就会导致我间接的引用了《不安全》的内容
在其他的浏览器还好
可是在火狐这种偏向web开发者的浏览器就会变成这个样子
虽然用的是https协议,但在其中混合了http协议的文件
在火狐中就会这样
正常应该是这样:
作为一个精致男孩怎能容忍自己的网站出现这么大的问题呢
于是我做出了一个违背祖宗的决定:
我要自己搭API!
搭建过程
准备工作
首先肯定是先绑定一个api域名
因为我要做获取漫画图像的API
搜集返回照片
所以第一步就是搜集漫画图片
我的来源有:
- 表情包(高清)
- 动漫截图
- 其他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