如何使用python这样的简单程序语言,在自己的电脑上搭建一个共享文件服务器.

news2024/10/7 6:41:32

在这里插入图片描述

文章目录

  • 1. 前言
  • 2. 视频教程
  • 3. 本地文件服务器搭建
    • 3.1 python的安装和设置
    • 3.2 cpolar的安装和注册
  • 4. 本地文件服务器的发布
    • 4.1 Cpolar云端设置
    • 4.2 Cpolar本地设置
  • 5. 公网访问测试
  • 6. 结语

1. 前言

数据共享作为和连接作为互联网的基础应用,不仅在商业和办公场景有广泛的应用,对于个人用户也有很强的实用意义。也正因如此,大量数据共享软件被开发出来,云存储的概念也被重复炒作。对于爱好折腾的笔者来说,用最简单的工具找寻私人共享和存储解决方案,也是件很有趣的事。今天,笔者就为大家介绍,如何使用python这样的简单程序语言,在自己的电脑上搭建一个共享文件服务器,并通过cpolar创建的数据隧道,将其变为能在公共互联网上访问的私人云盘。

2. 视频教程

Python一行代码实现文件共享【内网穿透公网访问】

3. 本地文件服务器搭建

Python作为一个相对简单的计算机语言,在世界范围内都很受欢迎,更是成为计算机技术初学者的必修课之一。说了这么多,其实python的成功,还是来源于它的简单和功能强大,就比如现在,我们可以使用几行简单代码,建立一个python http.server文件共享服务器。

3.1 python的安装和设置

首先,我们需要下载一个python(可以直接到python的官网https://www.python.org/下载)

20230322092201

20230322092202

下载完成后,直接双击.exe文件进行安装。

20230322092203

安装过程中,要记得将python加入环境变量(path)选项勾选上

20230322092204

接着创建一个文件夹,用于存放打算进行发布的文件。为方便说明,我们将这个文件夹命名为server

20230322092205

再以管理员身份运行cmd,对python进行设置。

20230322092206

先在cmd中输入python,只要能出现下图显示,就说明python安装成功。

20230322092207

接着输入命令行转入E盘

e:

在进入打算共享的文件夹

cd server

最后输入命令,执行文件夹的端口输出共享命令。

python -m http.server 9090  #其中端口号可以自选,但必须为未被占用的,可以选择一些偏僻的端口

命令输入后,可能会出现防火墙询问,我们点击允许访问即可。

需要注意的是,python的共享服务功能很简单也很基础,这里共享的是当前执行命令的文件夹,无法指定某个文件夹,所以我们需要先更换盘符和文件夹,才能执行共享命令。

20230322092208

看到cmd显示上面的内容,就可以在浏览器中访问本地9090端口,地址栏输入localhost:9090,访问到python共享的文件。

20230322092209

由于python的简单功能,我们不能关闭python的进程,否则就会关闭文件共享端口。

3.2 cpolar的安装和注册

在完成python的文件夹共享设置后,我们就可以安装和注册cpolar,为后面的共享文件发布做好准备。Cpolar的下载地址可以在cpolar的官网(https://www.cpolar.com/)中找到。

20230322092210

在cpolar的下载页面中,找到对应版本的cpolar安装程序,笔者使用的是Windows操作系统,因此选择Windows版下载。

20230322092211

下载完成后,将下载的文件解压,并双击其中的.msi文件,就能自动执行cpolar的安装程序,我们只要一路Next,就能完成安装。

20230322092212

20230322092213

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230322092214

20230322092215

4. 本地文件服务器的发布

完成了python的设置,安装并注册好cpolar,剩下的工作简单了,只要使用cpolar建立一条数据隧道,数据隧道的入口为公共互联网地址,出口连接本地的python共享文件网页。

4.1 Cpolar云端设置

由于分享文件的需求可能随时发生,而笔者又不想每次要分享文件是就设置一次数据隧道,所以笔者将cpolar升级至vip版,以便保留能长期稳定存在的数据隧道(免费版cpolar创建的数据隧道每24小时会重置一次)。

升级cpolar至vip后,我们首先登录cpolar云端,在客户主界面左侧找到预留按钮,点击进入预留页面。

20230322092216

在预留页面,能看到cpolar提供多种协议的数据隧道保留,而我们的python是网页输出,因此找到保留二级子域名栏位,并对这个栏位的信息进行设置。

20230322092217

设置的信息内容为:

  • 地区:服务器所在区域,就近选择即可
  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一
  • 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可

完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

20230322092218

如果这条数据隧道不打算再使用,还可以点击右侧的x将其轻松删除,节约宝贵的隧道名额。

20230322092219

4.2 Cpolar本地设置

完成cpolar云端的数据隧道入口保留后,我们回到cpolar本地客户端,将cpolar云端生成的数据隧道入口与本地python网页连接起来。

首先登录cpolar客户端,(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式),点击客户端主界面左侧隧道管理——创建隧道按钮,进入本地隧道创建页面(如果要创建每24小时重置地址的临时数据隧道,可直接在此进行设置,不必在cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

  1. 隧道名称:可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可
  2. 协议:由于python的共享是是网页形式,因此选择http协议
  3. 本地地址:本地地址即为本地网站的输出端口号,之前我们将python的输出端口设定在9090,因此这里也填入9090
  4. 域名类型:在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选二级子域名(如果预留的是自定义域名,则勾选自定义域名),并在下一行Sub Domain栏中填入预留的二级子域名,该例子中为“pythontest”。如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址
  5. 地区:与cpolar云端预留的信息一样,我们依照实际使用地填写即可

20230322092220

完成这些设置后,就可以点击下方的创建按钮,完成这条能够长期留存的数据隧道搭建。

数据隧道创建完成后,cpolar会自动跳转至隧道管理——隧道列表页面。在这个页面,我们可以对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击编辑按钮,对这条数据隧道的信息进行修改。

20230322092221

而python的数据隧道入口(公共互联网访问地址),则可以在状态——在线隧道列表中找到。

20230322092222

5. 公网访问测试

我们将这里的公网地址粘贴到其他设备上的浏览器中,就能看到本地电脑上由python生成的文件分享网页,并能轻松查看所分享的文件。

20230322092223

6. 结语

至此,我们成功使用cpolar内网穿透发布了python的文件分享网页,虽然这个python文件分享网页过于简单,功能也很简陋,但能够很好的展示,网页(或软件)输出端口与cpolar数据隧道端口设定之间的关系,即网页(或软件)的输出端口,一定要与cpolar数据隧道填入的端口一致,才能准确的连接起公共互联网地址和本地网页(或软件)。

转载自cpolar极点云文章:Python一行代码实现文件共享【内网穿透公网访问】

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

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

相关文章

数据库应用:MySQL索引

目录 一、理论 1.MySQL三层逻辑架构 2.索引结构 3.MyISAM与InnoDB对比 4.sql优化 5.MySQL 索引 6.MySQL索引原理 二、实验 1.创建索引 三、总结 一、理论 1.MySQL三层逻辑架构 MySQL的存储引擎架构将查询处理与数据的存储/提取相分离。 MySQL的逻辑架构图如下&…

Flask结合gunicorn和nginx反向代理的生产环境部署及踩坑记录

前言 之前自己写的flask使用gunicorn上线生产环境没有什么问题,但是最近搭建了一个现成的flask项目,当使用python直接运行时不会有问题,而使用gunicorn时则会出现一些问题。 部署过程 运行测试 这里使用pyenv创建了一个虚拟环境&#xff0…

Android PackageManagerService源码分析和APK安装原理详解

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 一、PackageManagerService简称PMS:PackageManagerService是Android系统中核…

城市餐饮油烟的监测与治理

摘要:为控制餐饮油烟污染,改善城市大气污染和生态环境,针对城市餐饮油烟污染现状,提出相应的治理政策。加快餐饮油烟污染立法进度,推进相关法律法规修订,加大油烟污染执法力度;维护清洗油烟净化…

windows安装使用 tesseract-ocr

OCR(Optical character recognition,光学字符识别)是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术。 tesseract-ocr 是由Google开发,支持100多种语言 文档 tessdoc: https://tesseract-ocr.github.io…

3Ds max创建闪烁的星星效果

在这个简单的教程中,您将学习如何通过几个步骤创建闪烁的星星效果。 推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 步骤-1 在顶视图中创建球体 步骤-2 应用星形材料。 步骤-3 复制球体并稍微调整其大小(两个球体必须完全相同&…

Ubuntu 的安装及其设置

文章目录 安装 Ubuntu屏幕分辨率设置修改软件源服务器锁屏时间设置设置 dash跨系统拖拽复制文件的设置 安装 Ubuntu 首先安装 VMware 虚拟机,虚拟机的安装比较简单,一步步点击Next即可完成安装。 安装完成后启动虚拟机,点击创建新的虚拟机。…

modelscope本地模型使用教程

阿里魔塔社区modelscope(https://modelscope.cn/home) 如果使用过模型,那么模型文件默认缓存地址:C:\Users\Administrator.cache\modelscope\hub 魔塔社区本地使用: 1、安装python环境:使用miniconda&…

Apache Knox Gateway

简介: Knox是一个提供认证和访问集群中hadoop服务的单个端点服务。目标是为用户和操作者简化hadoop安全。knox运行为一个服务或者集群服务,并提供集中访问一个或者多个hadoop集群。通常网关的目标如下: 1、为hadoop rest api 提供外层的安全…

实战攻防之积极防御体系建设 | 中睿天下受邀参与诸子云沙龙

7月8日,中睿天下受邀参与由诸子云举办的“网络与数据安全”主题沙龙,中睿天下技术经理徐丹丹就《实战攻防之积极防御体系建设》这一主题进行了分享交流。 本次沙龙由南京分会会长宋士明主持,活动邀请到BASF、江苏省联社、华泰证券、宁证期货、…

微软浏览器连不上网络

针对微软浏览器连不上网络,但其他浏览器仍能连上网络 控制面板 -> 网络和Internet -> Internet 选项 -> 连接 -> 局域网设置 -> 取消代理服务器

理清ROS通信的一些细节

目标:掌握ros的python编程 基本教程:https://www.bilibili.com/video/BV1sU4y1z7mw/?spm_id_from333.788&vd_source32148098d54c83926572ec0bab6a3b1d terminator 快捷键需要自己去重新启用 ctrlshifte 横向分屏 ctrlshifto 纵向分屏 ctrlshiftw …

前端AES加密,后端解密,有效防止数据外泄

在工作中经常遇到密码明文传输这个问题,为了让密码安全些会让加密,现在有个比较方便的AES加密(前端密钥可能存在泄露风险,应该放到配置项中): 一、前端加密 1、首先引入前端需要用到的js:crypt…

CocoaPods私有库的创建

第一步:为了方便寻找,我先cd 桌面路径 /Users/xxx/Desktop 第二步 :创建私有库的名字 pod lib creat KMWaterMark 创建之后会有个文件夹,打开文件夹将自己的工具类放到classes文件夹里面,然后在在Example中打开自己的…

【通过迭代相位检索重建衍射图案和全息图中缺失信息】不完整衍射图案的迭代重建和缺失像素的恢复(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【编译之美】【1. JS闭包问题】

什么是闭包 在 JavaScript 和 Python 等语言里,函数可以像数值一样使用,比如给变量赋值、作为参数传递给其他函数,作为函数返回值等等。比如下面这一段代码: var a 0;var fun1 function(){var b 0; // 函数内…

UE4/5c++基于BlueprintAsyncActionBase和FTickableGameObject的异步节点【多流程的创建、异步执行】

目录 简单的多流程制作 取消除流程外,原本的蓝图执行线【如果要进行异步执行可以不取消看效果】 结果 代码: 继承FTickableGameObject,时刻判断是否结束,来执行不同引脚 结果: 代码: 在之前笔者讲解…

数据结构(王道)——顺序表的基本操作(插入、删除)

顺序表之实现插入: 插入的基础实现: 更加有健壮性的插入 插入实现的时间复杂度分析: 顺序表之实现删除: 删除的实现 删除实现的时间复杂度分析: 总结:

Ubuntu18.04 系统安装 Docker

1、首先更新软件源: sudo apt-get updatesudo apt-get upgrade 2、安装Docker: sudo apt install docker -y 3、查看安装的Docker apt list docker 4、查看docker 进程 ps -ef|grep docker 5、查看docker 版本有问题 6、开启Docker服务 systemctl…

​LeetCode解法汇总931. 下降路径最小和

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matr…