webconsole使用方法(fastapi框架)

这篇具有很好参考价值的文章主要介绍了webconsole使用方法(fastapi框架)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目背景

需要在自己的项目中,可以实时连接linux或者docker的命令行,以此来达到webconsole或者叫web terminal的这种虚拟控制台效果。以下是本项目的具体实现:

  • 框架:fastapi
  • python版本: 3.7.5

所以如果是fastapi框架的话,基本可以做到开箱即用,只需添加几行配置代码即可使用,至于其他框架的用户,可以私信或者留言,我看到之后会提供给你一个思路,当然如果你编码能力比较强,可以把我的代码包pip install下来之后,自己看里面的代码去用别的框架重构。


docker实现

webconsole使用方法(fastapi框架)
使用docker webconsole的前提是你已经启用了自己docker环境的client端口,我下面的url示例中默认使用了2375端口,你可以根据自己的情况去更改。
至于怎么开启docker client端口,请参考这篇文章的前半部分内容


linux实现

webconsole使用方法(fastapi框架)

PS: Linux服务需要在你的项目根目录下放置文件private_key文件,文件中是你的私钥,确保对应的公钥已经放到你要ssh的机器上了,不然登陆肯定是失败的。另外这个websocket连接我默认设置了半小时的超时时间,请各位使用的朋友悉知

这里的前端代码我不做过多阐述,我只说一下后端的使用。不过前端代码已经一起打包进去了,可以给你们的前端看,让他自己把我的代码引用到他的前端代码中去。

那么后端使用方法如下:

如果你的项目也是fastapi框架的,那么只需要进行如下操作

安装webconsole包

pip install webconsole -i https://pypi.org/simple
具体有什么版本需要自己看 https://pypi.org/project/webconsole/   默认是下载的最新版

webconsole项目pypi页面直达链接

代码中需要改动的地方

引用路由

from webconsole.docker.docker_console import docker_webconsole
from webconsole.linux.linux_console import linux_webconsole

webconsole使用方法(fastapi框架)

加入路由到访问路径

app.include_router(docker_webconsole, prefix='/docker_webconsole', tags=['docker_webconsole相关,使用请谨慎'], dependencies=[Depends(oauth2_schema)])  # noqa
app.include_router(linux_webconsole, prefix='/linux_webconsole', tags=['linux_webconsole相关,使用请谨慎'], dependencies=[Depends(oauth2_schema)])  # noqa

#app.include_router(docker_webconsole, prefix='/docker_webconsole', tags=['docker_webconsole相关,使用请谨慎'], dependencies=[])  # noqa
#app.include_router(linux_webconsole, prefix='/linux_webconsole', tags=['linux_webconsole相关,使用请谨慎'], dependencies=[])  # noqa

webconsole使用方法(fastapi框架)

示例接口访问路径

ws://127.0.0.1:60528/docker_webconsole/ws/f977748aabad?docker_address=localhost&port=2375  (这是docker的请求路径)

ws://127.0.0.1:60528/linux_webconsole/ws/linux?address=127.0.0.1&user=rbadmin_app1     (不带passwd表示默认使用你自己项目根目录下的private_key文件进行ssh登陆)

ws://127.0.0.1:60528/linux_webconsole/ws/linux?address=127.0.0.1&user=raypick&passwd=raypick   不带passwd表示默认使用密码进行ssh登陆)

这里的60528是你自己的项目启动端口,docker_webconsole和linux_webconsole是你自己定义的访问前缀,在上一步中配置的。文章来源地址https://www.toymoban.com/news/detail-446149.html

到了这里,关于webconsole使用方法(fastapi框架)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring框架】Spring事务的介绍与使用方法

    ⚠️ 再提醒一次:Spring 本身并不实现事务,Spring事务 的本质还是底层数据库对事务的支持。你的程序是否支持事务首先取决于数据库 ,比如使用 MySQL 的话,如果你选择的是 innodb 引擎,那么恭喜你,是可以支持事务的。但是,如果你的 MySQL 数据库使用的是 myisam 引擎的话,

    2024年02月11日
    浏览(45)
  • 什么是组件,以及前端各种框架组件的使用方法

    🙂博主:小猫娃来啦 🙂文章核心: 介绍什么是组件,以及前端各种框架组件的使用方法 ⭐组件就像是搭积木一样的东西,可以用来构建软件或者系统。每个组件都有自己独立的功能和任务,就像一个小小的部件。你可以把这些小部件组合在一起,形成一个完整的应用程序

    2024年02月12日
    浏览(47)
  • java集合框架(二)LinkedList常见方法的使用

    @[toc] ## 一、什么是LinkedList LinkedList是Java中的一个双向链表。 它实现了List和Deque接口,在使用时可以像List一样使用元素索引,也可以像Deque一样使用队列操作。 LinkedList每个节点都包含了前一个和后一个节点的引用,因此可以很方便地在其中进行节点的插入、删除和移动。 相

    2024年02月05日
    浏览(45)
  • java集合框架(三)ArrayList常见方法的使用

    @[toc] ## 一、什么是ArrarList ArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。 ArrayList也被广泛用于Java中的集合框架,

    2024年02月05日
    浏览(50)
  • 【Fastapi框架】Fastapi的使用和进阶

    原文作者 :我辈李想 版权声明 :文章原创,转载时请务必加上原文超链接、作者信息和本声明。 新建main.py文件, 方式一:命令启动 方式二:在mian.py中加启动代码 http://127.0.0.1:8000/ http://127.0.0.1:8000/items/1 http://127.0.0.1:8000/items/1?q=2 http://127.0.0.1:5678/docs#/ http://127.0.0.1:5678/redoc

    2024年02月04日
    浏览(43)
  • .NET领域性能最好的对象映射框架Mapster使用方法

      Mapster是一个开源的.NET对象映射库,它提供了一种简单而强大的方式来处理对象之间的映射。在本文中,我将详细介绍如何在.NET中使用Mapster,并提供一些实例和源代码。 和其它框架性能对比:   Mapster的安装和配置: 首先,打开Visual Studio并创建一个新的.NET项目。 在NuGe

    2024年02月05日
    浏览(48)
  • 【Spring框架全系列】方法注解@Bean的使用

    📬📬哈喽,大家好,我是小浪。上篇博客我们介绍了五大类注解的使用方法,以及如何解决Spring使用五大类注解生成bean-Name的问题;那么,谈到如何更简单的读取和存储对象,这里我们还需要介绍另外一个\\\"方法注解@Bean\\\"的使用,快来一起学习叭!🛳🛳 📲目录 一、如何使

    2024年02月04日
    浏览(47)
  • microsoft authenticator 华为等手机无谷歌框架使用方法

    很多微软应用都强制要求使用microsoft authenticator。但是诸如华为等无谷歌框架的手机无法安装此应用。这里给出一个解决办法。 : 模拟器 新方法 :使用 谷歌身份验证器 ;把账号信息添加进入谷歌身份验证器(该方法可以在华为鸿蒙系统上正常使用,不受谷歌框架影

    2024年02月13日
    浏览(82)
  • .net下优秀的MQTT框架MQTTnet使用方法,物联网通讯必备

      MQTTnet 是一个高性能的MQTT类库,支持.NET Core和.NET Framework。 MQTTnet 原理: MQTTnet 是一个用于.NET的高性能MQTT类库,实现了MQTT协议的各个层级,包括连接、会话、发布/订阅、QoS(服务质量)等。其原理涉及以下关键概念: MqttClient:  MqttClient 是MQTTnet库中表示客户端的主要类

    2024年02月05日
    浏览(55)
  • .net下优秀的IOC容器框架Autofac的使用方法,实例解析

    Autofac是一个功能强大的依赖注入容器,它提供了一种简单和灵活的方式来管理对象之间的依赖关系。下面是Autofac的一些优点: 简单易用:Autofac提供了一种直观和简洁的方式来注册和解析依赖项。它的API设计得非常易于理解和使用,使得开发人员可以轻松地配置和管理依赖关

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包