zoukankan      html  css  js  c++  java
  • 写了一个随机图片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

  • 相关阅读:
    第二阶段冲刺第五天(6月4号)
    第二阶段冲刺第四天(6月3号)
    第二次阶段冲刺第三天(6月2号)
    第二次阶段冲刺第二天(6月1号)
    第二次阶段冲刺第一天(5月31号)
    第十周学习进度
    第十一周学习进度
    第十二周学习进度
    javascript 将递归转化为循环
    创建数据库,并设置外部访问权限
  • 原文地址:https://www.cnblogs.com/CooperXia-847550730/p/11526734.html
Copyright © 2011-2022 走看看