网站cc攻击用什么来做莆田网站建设推广

pingmian/2025/10/9 19:22:07/文章来源:
网站cc攻击用什么来做,莆田网站建设推广,wordpress手动摘要不显示,陕西汉中网站建设简介 Sanic 是一个和类Flask 的基于Python3.5的web框架#xff0c;它编写的代码速度特别快。 除了像Flask 以外#xff0c;Sanic 还支持以异步请求的方式处理请求。这意味着你可以使用新的 async/await 语法#xff0c;编写非阻塞的快速的代码。 关于 asyncio 包的介绍…简介 Sanic 是一个和类Flask 的基于Python3.5的web框架它编写的代码速度特别快。 除了像Flask 以外Sanic 还支持以异步请求的方式处理请求。这意味着你可以使用新的 async/await 语法编写非阻塞的快速的代码。 关于 asyncio 包的介绍请参考之前的一篇文章 python并发2使用asyncio处理并发 既然它说速度特别快我们先看下官方提供的 基准测试结果。 Sanic基准测试这个测试的程序运行在 AWS 实例上系统是Ubuntu只使用了一个进程。 那我们就有必要看下uvloop是个什么库。 uvloop uvloop 是 asyncio 默认事件循环的替代品实现的功能完整切即插即用。uvloop是用CPython 写的建于libuv之上。 uvloop 可以使 asyncio 更快。事实上它至少比 nodejs、gevent 和其他 Python 异步框架要快两倍 。基于 uvloop 的 asyncio 的速度几乎接近了 Go 程序的速度。 安装 uvloop uvloop 还只能在 *nix 平台 和 Python3.5以上版本使用。 使用pip安装 pip install uvloop 在 asyncio 代码中使用uvloop 也很简单 import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) 这得代码使得对任何asyncio.get_event_loop() 的调用都将返回一个uvloop实例。 现在我们开始学习Sanic 安装 Sanic pip install sanic 创建第一个 sanic 代码 from sanic import Sanic from sanic.response import text app Sanic(__name__) app.route(/) async def test(request): return text(Hello world!) app.run(host0.0.0.0, port8000, debugTrue) 运行代码 python main.py, 现在打开浏览器访问 http://0.0.0.0:8000你会看到 hello world!。 如果你熟悉Flask你会发现这个语法简直和Flask一模一样。 路由Routing 路由用于把一个函数绑定到一个 URL。下面是一些基本的例子 app.route(/) def index(): return text(Index Page) app.route(/hello) def hello(): return text(Hello World) 当然你还可以动态的变化URL的某些部分还可以为一个函数指定多个规则。 变量规则 通过把 URL 的一部分标记为 就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 可以 选择性的加上一个转换器为变量指定特定的类型如果传入的类型错误Sanic会抛出NotFound异常。请看下面的例子: from sanic.response import text app.route(/tag/) async def tag_handler(request, tag): return text(Tag - {}.format(tag)) app.route(/number/) async def integer_handler(request, integer_arg): return text(Integer - {}.format(integer_arg)) app.route(/number/) async def number_handler(request, number_arg): return text(Number - {}.format(number_arg)) app.route(/person/) async def person_handler(request, name): return text(Person - {}.format(name)) app.route(/folder/) async def folder_handler(request, folder_id): return text(Folder - {}.format(folder_id)) HTTP 请求类型 默认情况下我们定义的URL只支持GET 请求app.route装饰器提供了一个可选参数methods这个参数允许传入所有HTTP 方法。 例如 from sanic.response import text app.route(/post, methods[POST]) async def post_handler(request): return text(POST request - {}.format(request.json)) app.route(/get, methods[GET]) async def get_handler(request): return text(GET request - {}.format(request.args)) 也可以简写为 from sanic.response import text app.post(/post) async def post_handler(request): return text(POST request - {}.format(request.json)) app.get(/get) async def get_handler(request): return text(GET request - {}.format(request.args)) add_route 方法 除了app.route装饰器Sanic 还提供了 add_route 方法。 app.route 只是包装了 add_route方法。 from sanic.response import text # Define the handler functions async def handler1(request): return text(OK) async def handler2(request, name): return text(Folder - {}.format(name)) async def person_handler2(request, name): return text(Person - {}.format(name)) # Add each handler function as a route app.add_route(handler1, /test) app.add_route(handler2, /folder/) app.add_route(person_handler2, /person/, methods[GET]) URL 构建 如果可以匹配URL那么Sanic可以生成URL吗当然可以url_for() 函数就是用于构建指定函数的URL的。它把函数名称作为第一个参数其余参数对应URL中的变量例如 app.route(/) async def index(request): # generate a URL for the endpoint post_handler url app.url_for(post_handler, post_id5) # the URL is /posts/5, redirect to it return redirect(url) app.route(/posts/) async def post_handler(request, post_id): return text(Post - {}.format(post_id)) 未定义变量会作为URL的查询参数 url app.url_for(post_handler, post_id5, arg_oneone, arg_twotwo) # /posts/5?arg_oneonearg_twotwo # 支持多值参数 url app.url_for(post_handler, post_id5, arg_one[one, two]) # /posts/5?arg_oneonearg_onetwo 使用蓝图Blueprint Sanic也提供了和Flask 类似的 Blueprint。 Blueprint有以下用途 把一个应用分解为一套蓝图。这是针对大型应用的理想方案一个项目可以实例化一个 应用初始化多个扩展并注册许多蓝图。 在一个应用的 URL 前缀和或子域上注册一个蓝图。 URL 前缀和或子域的参数 成为蓝图中所有视图的通用视图参数缺省情况下。 使用不同的 URL 规则在应用中多次注册蓝图。 通过蓝图提供模板过滤器、静态文件、模板和其他工具。蓝图不必执行应用或视图 函数。 blueprint 示例 from sanic import Sanic from sanic.response import json from sanic import Blueprint bp Blueprint(my_blueprint) bp.route(/) async def bp_root(request): return json({my: blueprint}) app Sanic(__name__) app.blueprint(bp) app.run(host0.0.0.0, port8000, debugTrue) Sanic 使用 app.blueprint() 方法注册blueprint。 使用蓝图注册全局中间件 bp.middleware async def print_on_request(request): print(I am a spy) bp.middleware(request) async def halt_request(request): return text(I halted the request) bp.middleware(response) async def halt_response(request, response): return text(I halted the response) 使用蓝图处理异常 bp.exception(NotFound) def ignore_404s(request, exception): return text(Yep, I totally found the page: {}.format(request.url)) 使用蓝图处理静态文件 第一个参数指向当前的Python包 第二个参数是静态文件的目录 bp.static(/folder/to/serve, /web/path) 使用url_for 如果要创建页面链接可以和通常一样使用 url_for() 函数只是要把蓝图名称作为端点的前缀并且用一个点 . 来 分隔: blueprint_v1.route(/) async def root(request): url app.url_for(v1.post_handler, post_id5) # -- /v1/post/5 return redirect(url) blueprint_v1.route(/post/) async def post_handler(request, post_id): return text(Post {} in Blueprint V1.format(post_id)) 操作请求数据 对于web 应用来说对客户端向服务器发送的数据做出相应很重要在Sanic中由传入的参数 request来提供请求信息。 为什么不像Flask 一样提供一个全局变量 request Flask 是同步请求每次请求都有一个独立的新线程来处理这个线程中也只处理这一个请求。而Sanic是基于协程的处理方式一个线程可以同时处理几个、几十个甚至几百个请求把request作为全局变量显然会比较难以处理。 Request 对象常用参数有 jsonany json body from sanic.response import json app.route(/json) def post_json(request): return json({ received: True, message: request.json }) argsdict URL请求参数 ?key1value1key2value2 将转变为 {key1: [value1], key2: [value2]} raw_argsdict 和args 类似 ?key1value1key2value2 将转变为 {key1: value1, key2: value2} formdict处理 POST 表单请求数据是一个字典 bodybytes处理POST 表单请求数据是一个字符串 其他参数还有: file ip app url scheme path query_string 关于响应 Sanic使用response 函数创建响应对象。 文本 response.text(hello world) html response.html( hello world) json response.json({hello: world}) file response.file(/srv/www/hello.txt) streaming from sanic import response app.route(/streaming) async def index(request): async def streaming_fn(response): response.write(foo) response.write(bar) return response.stream(streaming_fn, content_typetext/plain) redirect response.file(/json) raw response.raw(raw data) 如果想修改响应的headers可以传入headers 参数 from sanic import response app.route(/json) def handle_request(request): return response.json( {message: Hello world!}, headers{X-Served-By: sanic}, status200 ) 配置管理 应用总是需要一定的配置的。根据应用环境不同会需要不同的配置。比如开关调试 模式、设置密钥以及其他依赖于环境的东西。 Sanic 的设计思路是在应用开始时载入配置。你可以在代码中直接硬编码写入配置也可以使用配置文件。 不管你使用何种方式载入配置都可以使用 Sanic 的 config 属性来操作配置的值。 Sanic 本身就使用这个对象来保存 一些配置扩展也可以使用这个对象保存配置。同时这也是你保存配置的地方。 配置入门 config 实质上是一个字典的子类可以像字典一样操作 app Sanic(myapp) app.config.DB_NAME appdb app.config.DB_USER appuser 也可以一次更新多个配置 db_settings { DB_HOST: localhost, DB_NAME: appdb, DB_USER: appuser } app.config.update(db_settings) 从对象导入配置 import myapp.default_settings app Sanic(myapp) app.config.from_object(myapp.default_settings) 使用配置文件 如果把配置放在一个单独的文件中会更有用。理想情况下配置文件应当放在应用包的 外面。这样可以在修改配置文件时不影响应用的打包与分发 常见用法如下: app Sanic(myapp) app.config.from_envvar(MYAPP_SETTINGS) 首先从 myapp.default_settings 模块载入配置然后根据 MYAPP_SETTINGS 环境变量所指向的文件的内容重载配置的值。在 启动服务器前在 Linux 或 OS X 操作系统中这个环境变量可以在终端中使用 export 命令来设置: $ export MYAPP_SETTINGS/path/to/config_file $ python myapp.py 部署 Sanic 项目还不是特别成熟现在部署比较简陋。对Gunicorn的支持也不完善。 详细信息可以 看下这个问题 Projects built with sanic? 先在说下我的部署方式 使用 supervisord 部署 启动 方式 supervisord -c supervisor.conf 总结 试用了下Sanic把之前的一个聊天机器人从Flask 改成了 Sanic。不得不说如果你有Flask经验大致看一下Sanic文档就可以直接上手了。 并且Sanic 的速度比Flask 快很多只是Sanic配套的包还是太少用于生产环境有一定的风险。 预告 下一篇将介绍如何使用 Sanic 一步一步创建一个 聊天机器人。 参考链接 最后感谢女朋友支持。 欢迎关注 请我喝芬达彩蛋 魔魔是我们家巴哥的名字 贴一张魔魔的照片结束本篇文章。

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

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

相关文章

WordPress上传后找不到可以做关键词优化的免费网站

第1章 绪论 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级&#xf…

东莞网站制作南城wordpress置顶排序

目录 一.OpenGL 图像单色 1.原始图片2.效果演示 二.OpenGL 图像单色源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…

网站开发下载那个wordpress底部功能按钮

来源:生物360一篇论文报告称,小鼠下丘脑视前区相当于一个集成中心,汇集育儿行为相关的大量信息。具体而言,研究人员发现视前区表达甘丙肽的神经元会协调育儿行为的运动、动机、激素和社会因素。相关成果近日 发表 于《自然》。育儿…

赣州开发区网站建设建个网站费用大概多少钱一年

本文介绍qml页面嵌入到QWidget的两种方式,以及这两种方式的区别。 方式1 在 Qt 中,可以使用 QQuickWidget 将 QML 内容嵌入到基于 QWidget 的应用程序中。这是在旧的 QWidget-based 应用程序中逐渐引入 QML UI 的一种常见方式。 以下是如何使用 QQuickWidget 将 QML 内容嵌…

顺德网站制作公司wordpress 豆瓣fm

字面量: 就是一个一个的值,如1、2、3、‘hello’,就是它自己本身表达的字面值、字面意思,在程序中可以直接使用。 变量(variable): 可以用来保存字面量,变量本身没有任何意思&#x…

微站和网站数据同步高质量视频素材网站

方法一 Hierholzer’s Algorithm 相关概念: 1 欧拉路径:在无向图中,每个边只经过一次,形成的路径。在有向图中,是指每条有向边只使用一次,形成的路径。 2 欧拉回路:欧拉路径是一个环。 3 在…

自己做网站需要多少费用天眼查询个人 企业查询

文章目录 常见特征种类one-hot编码特征哈希(`Feature hashing`)基于统计的类别编码对循环特征的编码目标编码(Target encoding)K折目标编码(K-Fold Target encoding)用于数据分析的特征可能有多种形式,需要将其合理转化成模型能够处理的形式,特别是对非数值的特征,特征…

嘉兴网站建议wordpress修改主题代码

ChatGPT无限次数:点击直达 html 揭秘ChatGPT技巧:高效撰写学术论文的专家秘笈 揭秘ChatGPT技巧:高效撰写学术论文的专家秘籍 在当今信息爆炸的时代,如何高效撰写学术论文成为许多研究者和学生关注的焦点。ChatGPT是一款人工智能助手&…

泉州定制网站建设wordpress创意点赞

2023年云南省职业院校技能大赛 中职组“网络安全”赛项样题 一、竞赛时间 总计:180分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 数据库加固 A-3 服务加固SSH\VSFTPD A-4 防火墙策…

渝水区城乡建设局网站前端需要掌握哪些知识

架构原理 一、高吞吐机制:Batch打包、缓冲区、acks 1. Kafka Producer怎么把消息发送给Broker集群的? 需要指定把消息发送到哪个topic去 首先需要选择一个topic的分区,默认是轮询来负载均衡,但是如果指定了一个分区key&#x…

wordpress快速仿站网站添加ico

组件注册 定义好的组件需要注册才能被使用。 注册方式有两种 全局注册 局部注册 全局注册 .component() 方法,让组件在当前 Vue 应用中全局可用。 在 main.ts 中 import ./assets/main.cssimport { createApp } from vue import { createPinia } from pinia i…

李鸿星电子商务网站建设国外不织布网站做的教具

问题分析 在使用静态方法的时候,某些情况下,需要使用类似自动注入的Bean来实现某些业务逻辑。 一般的非静态方法,可以很容易的通过在方法所在的类中Autowired自动将依赖的Bean注入到本类中,并操作。 静态方法在使用同样的操作流…

四川内江网站建设专业营销型网站

捕获验证错误代码 //try //{ // // 调试写数据库 //} //catch (DbEntityValidationException dbEx) //{ //}转载于:https://www.cnblogs.com/caojinqin/p/4561000.html

医疗网站建设 飞沐WordPress信息收集

通过研读华为数据之道,了解到华为作为一家非数字原生企业,其业务涵盖研发、营销、制造、供应、采购、服务等,业务相当复杂。因此华为在开展数据治理过程中明确了由谁来对数据负责,特别是对数据质量负责,明确了数据质量的衡量或度量指标,并成立了数据管理部,确定其职能定…

网站建设 佛山单页网站的优点

鼠标前盘属于办公用品套装,一般会一起销售,但是也不排除分开销售,无论是哪种方式键盘鼠标在生产销售时都需要携带对应产品质量合格证,对产品进行简单的说明,更能保障消费者的权益。那么如何制作产品质量合格证呢&#…

网站建设公司的政策风险PHP开源网站开发系统

MYSQL主从复制配置指引 1.前期准备 部署完主备数据库,初始化主备库表结构和数据。 2. 主库配置修改 修改主库配置文件etc/my.cnf,新增以下配置: #服务器 id,需唯一 server-id 1 #二进制文件存放路径 log-bin mysql-bin …

网站推广公司电话集群网站开发

import { BaseTabs, BaseUploadImage, BaseHighSearch, BaseTable } from /common/components; import BaseTables from /common/components/BaseTables;

域名续费做网站网站建设华威公司怎么样

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 找到两个平面之间的透视变换。 cv::findHomography 是 OpenCV 库中用于计算两幅图像之间单应性矩阵(Homography Matrix)的…

做网站一般用什么服务器怀化电视台网站

爱折腾的我最近在用sublime text 3 写python,但是原生态的编译模式不支持交互。在网上找了许多资料,想要可以交互运行python,大都需要sublimeREPL这个插件,我不想用这个插件。在多次摸索过后找到了如下解决方案,在此记…

上海网站建设好处个人网页设计ps

生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去 但是呢,你也可以允许你的好闺蜜好基友进去。 在程序里,有些私有属性 也想让类外特殊的一…