写了一个随机图片API接口,用来做博客园随机背景,欢迎使用,禁止爬取,需要套图可以直接联系博主

原来还有人看,现在地址是http://116.62.5.101,https://116.62.5.101,http://www.zhulinan.love

___________________________________________________________________________________________________________________________

 

20190917更新,今天早上发现接口突然不能用了显示ERR_TIMEOUT,上服务器看了一下进程还在运行,初步推测是web服务器的问题,

flask是个web框架,也做了web服务器,但是非常的简单,只用flask做调试还可以,真的部署稳定性存在问题,所以这两天打算部署到nginx上

 

 

接口地址:https://116.62.5.101:5000/,欢迎使用,图片资源是https://www.cnblogs.com/CooperXia-847550730/p/10533558.html贴中爬取的兔玩君套图中的100+套。

这是我的博客园css代码,背景url填入随机图片API接口地址,就可以做到随机的图片背景效果

body {
color: #000;
background: url(https://116.62.5.101:5000/) fixed;
background-size: cover;
background-repeat: repeat;
font-family: "微软雅黑","Helvetica Neue",Helvetica,Verdana,Arial,sans-serif;
font-size: 12px;
min-height: 101%;
}

 

先挂一下效果,这是作为博客背景的效果:

 

 

 

 

这是作为图片接口的效果:

 

 

 

实现非常简单,还是使用了flask框架,这里就是全部的代码了:

from flask import Flask, request, render_template, redirect, send_file
from random import choice
import os
app = Flask(__name__)

@app.route('/')
def hello_world():
dirpath = "sets/"
deeppaths = [i for i in os.listdir(dirpath)]
deeppath = dirpath + choice(deeppaths) + "/"
filenamelists = [i for i in os.listdir(deeppath)]
filename = deeppath + choice(filenamelists)
return send_file(filename)

if __name__ == '__main__':

app.run(host='0.0.0.0',port=5000,ssl_context=('server.crt', 'server.key'))

这里主要代码就是写一个随机选择,这是图库的文件地址,会随笔选择套图和图片:

 

 

因为博客园会自动将url的http转为https,所以这里部署成了https,需要申请ssl认证,因为博主没有域名,所以就自己使用openssl 命令配置了一个不受信的证书,但是不影响使用,

有域名的同学,可以直接在aliyun里申请免费的第三方证书。

首先安装:pip install pyOpenSSL

然后生成证书,按照配置要求填写信息就可以了:

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

posted @ 2019-09-16 12:49  Cooper_Xia  阅读(3613)  评论(2编辑  收藏  举报