flask下https教程

一、定义

  1. linux 下flask https 协议

二、实现

  1. linux 下flask https 协议

  2. 生成SSL证书和密钥文件。您可以使用工具如openssl来生成自签名SSL证书和密钥文件。运行以下命令生成证书和密钥文件:

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

在这里插入图片描述
2. 将生成的cert.pem和key.pem文件放置在您的Flask应用程序目录中。
3.在您的Flask应用程序中添加以下代码来配置HTTPS:

from flask import Flask
from flask_sslify import SSLify
# pip install flask-sslify
app = Flask(__name__)# 为Flask应用程序启用SSLify
sslify = SSLify(app)if __name__ == '__main__':app.run(host="0.0.0.0", port=8002,ssl_context=('cert.pem', 'key.pem'))

客户端

import requestsres = requests.post("https://127.0.0.1:8012/test",verify=False)   #无ssh 证书print(res.json())

方式二、

#coding=utf8
from gevent import monkey
monkey.patch_all()
from flask import Flask,Response,stream_with_context,request,send_file
from gevent.pywsgi import WSGIServer
import json
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '..'))
sys.path.append("..")
import loggingimport time
logging.basicConfig(level=logging.INFO,format="%(asctime)s-%(filename)s-%(lineno)d-%(levelname)s-%(message)s")
from flask_sslify import SSLify
from flask import Flaskapp = Flask(__name__)now = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))sslify = SSLify(app)'''返回标准格式'''
class ResponseSocket():def BasicResponse(self,code=200,msg="成功",ans="",html=False,healthy=1,finish=False,use_time=0):return {"code":str(code),"msg":msg,"ans":ans,"html":html,"healthy":healthy,"finish":finish,"uesd_time":use_time}@app.route('/test',methods=["POST","OPTIONS","GET"])
def modularity():res = "成功"return json.dumps(ResponseSocket().BasicResponse(ans=res,finish=True),ensure_ascii=False)if __name__ == "__main__":print("server start")http_server = WSGIServer(('0.0.0.0', int(8012)), app,keyfile='key.pem', certfile='cert.pem')http_server.serve_forever()

方式三、

from flask import Flask  app = Flask(__name__)  class ResponseSocket():def BasicResponse(self,code=200,msg="成功",ans="",html=False,healthy=1,finish=False,use_time=0):return {"code":str(code),"msg":msg,"ans":ans,"html":html,"healthy":healthy,"finish":finish,"uesd_time":use_time}@app.route('/test',methods=["POST","OPTIONS","GET"])
def modularity():res = "成功"return json.dumps(ResponseSocket().BasicResponse(ans=res,finish=True),ensure_ascii=False)gunicorn --workers 3 --worker-class gevent --certfile=cert.pem --keyfile=key.pem app:app -b 0.0.0.0:8012

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot 的共享session方案?

问:springboot 的共享session方案? 参考: https://juejin.cn/post/7195227930077691963分布式之session共享问题 4种解决方案及spring session的使用_分布式session共享方案-CSDN博客 什么是 Session ? 答:因为Http协…

JavaScript web API part1

web API 前言 变量声明 const优先,可变再改为let 原因: 语义化更好若以后变量不改变,就应用const声明实际开发中,react框架中基本都是从const [!IMPORTANT] 基本变量中数据若改变,则不可用const 数组,对…

计算机毕业设计Python+Tensorflow股票推荐系统 股票预测系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《Tensorflow股票预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和金融市场的日益复杂化,股票作为金融市场的重要组成部分,其价格波动受到广泛关注。传统的股票预测方法如技术分析和基本面分析,虽然在一定程度上能够辅助投…

如何查询、统计品牌在社媒平台的品牌声量?

现在各平台的竞争越来越激烈,企业想做好在社媒平台上的品牌营销,就需要时刻监测品牌声量的大小,比如企业品牌声量趋势、品牌sov值、搜索指数等相关指标,辅助衡量品牌宣传效果如何。那怎么去查询统计品牌声量情况呢?可以…

获取多行文本内容,去掉首尾空格、去掉空字符串,解析为文本数组

核心代码 // 获取多行文本内容,去掉首尾空格、去掉空字符串,解析为文本数组 getMultiLineTexts(textareaValue) {return textareaValue.split("\n").map((v) > v.split("\t").join("").trim()).filter((v, i, ar) &g…

数据库的操作:SQL语言的介绍

一.前言 SQL是一种结构化查询语言。关系型数据库中进行操作的标准语言。 二.特点 ①对大小写不敏感 例如:select与Select是一样的 ②结尾要使用分号 没有分号认为还没结束; 三.分类 ①DDL:数据定义语言(数据库对象的操作(结…

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:error是设置我们失败的logo 设置的文字上…

MyBatis ——在java层面对MySQL数据库进行操作

目录 MyBatis 是一款优秀的 持久层框架,用于简化JDBC(java操作数据库)的开发; 使用MyBatis 查询所有用户数据的过程 Lombok是一个实用的]ava类库,能通过注解的形式 简化 JavaBean的代码 注解: 引入Myb…

【Leetcode152】乘积最大子数组(动态规划)

文章目录 一、题目二、思路三、代码 一、题目 二、思路 (0)读懂题意:题目的“连续”是指位置的连续,而不是说数字的连续,这是个大坑。 (1)确定状态:定义两个状态来记录当前子数组的…

Python 爬虫项目实战(一):爬取某云热歌榜歌曲

前言 网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…

MySQL笔记2(DQL查询语言【条件、分组、排序、限制、子查询、左右连接、内连接、联合查询】)

DQL数据查询语言与项目高级查询实战 先安装数据库并创建一个库 并创建以下数据 /*创建部门表*/CREATE TABLE dept( deptnu INT PRIMARY KEY comment 部门编号, dname VARCHAR(50) comment 部门名称, addr VARCHAR(50) comment 部门地址 );/*某个公司的员工表*/ CREATE TABLE…

「ComfyUI」比 joy_caption 更好用的提示词反推模型!

前言 距离我们上次介绍 joy_caption 还没几天呢,这就又出新模型来与 joy_caption 一争高下了。 今天我们要介绍的是:Florence-2-X-PromptGen-v1.5,是在 Florence-2 的基础上进行精细调优的一款高级图像标注工具,专门为生成和标注…

Flutter框架——2.状态-路由-包-资源

文章参考了Flutter中国开源项目发起人杜文(网名wendux)创作的一本系统介绍Flutter技术的中文书籍《Flutter实战第二版》,网址:第二版序 | 《Flutter实战第二版》 https://book.flutterchina.club/#第二版变化 文章目录 一、状态管…

【C#跨平台开发详解】C#跨平台开发技术之.NET Core基础学习及快速入门

1. C#与.NET的发展历程 C#是由Microsoft开发的现代编程语言,最初伴随着.NET Framework发布。随着技术的进步,特别是针对跨平台开发的需求,Microsoft推出了.NET Core,这是一个开源且跨平台的框架,支持Windows、macOS和…

利用数据分析提升SEO排名的7种方法

我们都听过“大数据分析”这个词。科技让我们能够清晰地了解我们的活动和内容的表现——向我们提供了关于受众的宝贵信息,甚至可以精确到他们在Google和其他搜索引擎上使用的具体搜索词。 你已经在你的业务中使用数据分析了吗?如果是,你有利…

828华为云征文|华为云Flexus X实例docker部署MinIO对象存储系统obs

828华为云征文|华为云Flexus X实例docker部署MinIO对象存储系统obs 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定…

数据分析:R语言计算XGBoost线性回归模型的SHAP值

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍SHAP用途计算方法:应用加载R包导入数据数据预处理函数模型介绍 SHAP(SHapley Additive exPlanations)值是一种解释机器学习模型预测的方法。它基于博弈论中的Shapley值概念,…

5G网络建设

题目描述 现需要在基城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基 站能互联互通,不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤…

GeekDesk:不只是桌面美化,更是你的时间管理与效率提升专家

前言 科技,如同织就未来的经纬线,以智慧为梭,穿梭于生活的每一个角落,编织出一张便捷之网,让人类的生活如诗如画,绚烂多彩--这一理念深刻地影响着每一个科技产品的诞生与发展。在众多旨在提升工作效率与生…

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…