AI 助理
备案 控制台
开发者社区 开发与运维 文章 正文

【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透」

本文涉及的产品
.cn 域名,1个 12个月
简介: 【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透」

1.前言

Python作为热度比较高的编程语言,其语法简单且语句清晰,而且python有良好的兼容性,可以轻松的和其他编程语言((比如C/C++))建立的模块连接起来,而且python丰富强大的库,经过封装可以轻松调用,因此深受欢迎。今天我们就尝试用python,建立一个简单的http服务器,用来展示本地电脑上指定的目录和文件。

2.本地http服务器搭建

一般来说,Python的简单http服务器不依赖Apache、IIS等这些复杂的服务器程序,因为其自带了只需一行命令就能建立http服务。但相对的,这个简单http服务也没法提供复杂功能,只能提供相对简单的目录服务。但对于想要学习和熟悉python,这又是必须进行的一步。

2.1.Python的安装和设置

首先,我们需要在本地安装python程序。Python程序可以在其官网( www.python.org/)找到对应操作系统版本下载。笔者使用的是Windows操作系统,因此选择Windows版本下载。

1a9b981d723c14f5d29224d16d4718a6.png

c139aa75e1e49b9e0a60796caa5a6dc2.png

Python下载完成后,直接点击安装程序.exe即可进行安装。同时需要注意的是,在安装过程中,需要注意勾选Add python.exe to PATH选项。

82432a2ed8d42a1929c7dc26e9eb542f.png

fea5b33658fd95da7ad9bd76e333f823.png

完成python程序的安装后,我们就可以着手建立python的http服务器了

2.2.Python服务器设置和测试

由于python内建了简单http服务包,因此对于python来说,只需输入一行命令,就能轻松打开http服务。当然,要运行网页,就需要网页有显示内容。因此我们可以先建立一个用于存放网页文件的文件夹。例如笔者在本地电脑的E盘下新建了一个“test”文件夹

1c19f781e2e7ec2c624fc65a42c1098b.png


接着,以管理员身份运行本地电脑的命令提示符界面,并输入命令转入该文件所存放的硬盘

e:

再转入打算共享的文件夹

cd test


96a6e0bba951aef134a87e9db8ba7c99.png


fcb32aea19cdd0a3a9c3d891b4deb643.png


接着输入命令启动http服务

  • 如果Python版本为2.x,输入命令

python -m SimpleHTTPServer 8081

  • 如果Python版本为3.x,输入命令


python -m http.server 8001

其中的8081为打算搭建的服务器的输出端口,只要选择没有被占用的端口即可。如果出现防火墙的提示信息,只要选择允许访问即可。

命令行输入完毕后,python给出反馈Serving HTTP on 0.0.0.0 port 8081 ...,就说明我们python的http服务已经成功开启了,在本地8081端口下。

2ceaa12a39c2b04e50ad83e2df2d3e02.png

接着我们在本地电脑上的浏览器地址栏中,输入localhost:8081,就能打开打算分享的文件夹下的文件。

599efdc5b8c32a06db5ca0c15d152e15.png


能看到这些内容,就说明本地电脑上python的http服务已经开启,并且已经可以查阅到这个文件夹下的文件。同样的,如果我们在这个文件夹下放入网页文件,也能够显示为网页。


此时在同一局域网下的设备,只要在浏览器中输入本地电脑的ip地址+端口号(具体格式为192.168.XXX.XXX:端口号),就能显示出python的网页。



81590c9df4e323a401b457f70097bde8.png

不过,不能在公共互联网访问的网页总觉得缺少灵魂,因此我们可以借助cpolar内网穿透,创建一条内网穿透数据隧道,让我们可以在公共互联网条件下,访问到python。

3.cpolar的安装和注册

同样的,我们可以在cpolar的官网( cpolar - 安全的内网穿透工具)找到对应操作系统版本的软件,笔者这里也是选择Windows版本。

a8b0f502a142e7d131b6e4dad9247f6d.png

1e283565413ca3acdc0924cf0feb38ff.png


Cpolar软件下载完成后,将压缩包解压,并双击其中的.msi文件,即可自动进行安装,我们只要一路点击Next即可。

c9c413813d8f71c69053839494ac2f7f.pnga98420ecb7dbf3e345d8496d900fef1a.png

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

5d14d2cd449553d8ecdff515d291d18d.png

0d52e52b4a11928f82558f1e2e3bf74f.png

3.1 Cpolar云端设置

完成cpolar的安装和注册后,我们就可以着手使用cpolar,创建一条内网穿透数据隧道,将本地电脑的python网页与公共互联网连接起来。需要注意的是,cpolar免费版的数据隧道每24小时重置一次。笔者并不想每天进行重置数据隧道设置,因此将cpolar升级至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。

要生成长期稳定存在的内网穿透数据隧道,我们要先访问cpolar官网并登录,并在“仪表盘”页面左侧,找到并点击预留按钮,进入“预留”页面。


0deae7e5923ebeca19e0652935e645f8.png



cea5713fd8c3167840d6c9d72d1d47bd.png

在“预留”页面中,我们可以看到cpolar提供了多种协议的数据隧道保留项目。而python服务器是http协议,因此我们找到保留二级子域名栏位。当然,如果已经向域名供应商购买了自己的域名的,也可以选择“保留自定义域名”栏位。

在“保留二级子域名”栏位,我们需要对打算保留的二级子域名进行信息设置,而这些设置的信息,也会成为我们在公共互联网访问本地python服务器的隧道入口(公共互联网地址的一部分)。具体需要设置的信息为:

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

输入这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。如果我们不想要这条隧道的入口了,也可以点击右侧的“x”,轻松将隧道删除



ad224b54531a5e289c0b04fde73b1995.png

3.2 Cpolar本地设置

完成cpolar云端设置后,我们回到本地电脑上,打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)



441184791bf3f1b45e53a7e0970bfbd4.png

点击客户端主界面左侧隧道管理——创建隧道按钮,进入本地隧道创建页面(如果要创建每24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

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

  1. 隧道名称——可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可;
  2. 协议——tomcat输出的是web网页,因此选择http协议;
  3. 本地地址——本地地址即为本地网站的输出端口号,我们之前设置了8081为输出端口,因此这里也填入8081;
  4. 域名类型——在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,这里我们填入“pythonweb”(如果只是创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址);


地区——与cpolar云端设置时一样,我们依照实际所在地就近填写;


80128d3444214bf7a91779dbc7e1831e.png

完成这些设置后,就可以点击页面下方的创建按钮,将本地python服务器网页与cpolar云端保留的二级子域名连结起来,生成一条完整的内网穿透数据隧道。

隧道创建完成后,cpolar会自动跳转至隧道管理——隧道列表页面,在这个页面看到数据隧道的状态(是否畅通),或是控制隧道的开启、关闭或删除。如果需要对隧道的信息进行变更,也可以通过这里的“编辑”按钮进行



c5bcf2281625051c0530af70e4e40a25.png

4.公网访问测试

数据隧道建立完成后,我们可以点击cpolar客户端左侧状态——在线隧道列表。找到能够访问本地python服务器页面的公共互联网地址。


ada0e6ad994f265be4f538fe01c75835.png

只要将这个地址输入浏览器地址,就能轻松访问到本地电脑上的python服务器页面


27b81caf58111fc85992a8eb43b9f55d.png

5.结语

至此,我们成功的使用python建立一个简单的服务器页面,并且通过cpolar为其创建了一条能够穿透内网屏障的数据隧道,将这个python网页发布到公共互联网上。其实,只要知道网页(或软件)的输出端口号,我们都可以使用cpolar穿透内网,让我们在公共互联网上访问到本地的网页(或软件)。



冷兮雪
目录
相关文章
游客p2jkvdcgmva6i
|
6天前
|
网络协议 网络安全 网络架构
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
本教程指导如何设置路由器以支持IPv6访问:首先确保上网方式为自动获取IP,接着在路由器设置中开启IPv6功能,并关闭可能阻碍连接的防火墙。最后,在光猫管理界面同样关闭防火墙以确保无障碍的IPv6访问路径。操作时请注意网络安全。
游客p2jkvdcgmva6i
20 1
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
工程师阿龙
|
6天前
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
工程师阿龙
17 1
小白学大数据
|
11天前
|
缓存 数据安全/隐私保护 UED
代理服务器在HTTP请求中的应用:Ruby实例
代理服务器在HTTP请求中的应用:Ruby实例
小白学大数据
33 2
我不是游客20240119
|
22天前
|
运维 监控 网络安全
自动化运维:使用Python脚本实现服务器批量管理
【8月更文挑战第2天】在现代IT运维领域,效率和准确性是衡量工作质量的关键指标。手动管理大量服务器不仅耗时且容易出错,因此自动化运维工具的开发变得至关重要。本文将介绍如何利用Python编写一个简单的自动化脚本,实现对多台服务器的批量管理,包括自动更新、配置同步以及日志收集等功能。通过实际案例展示,我们能够看到自动化运维如何提升工作效率并减少人为错误。
我不是游客20240119
28 8
萝卜丝丸子
|
24天前
|
存储 运维 Java
函数计算产品使用问题之如何使用Python的requests库向HTTP服务器发送GET请求
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
萝卜丝丸子
95 8
软件求生
|
28天前
|
缓存 程序员 开发者
HTTP状态码大全:如何读懂服务器的语言?
大家好,我是小米,今天我们来聊聊HTTP协议中的GET和POST请求。它们在数据传输方式、安全性和应用场景上有不同特点。本文将详细解析它们的区别和特点,帮助你更好地理解和运用这两种请求方式。让我们一起学习吧!
软件求生
32 1
白如意i
|
8天前
|
存储 Ubuntu API
如何使用Python创建服务器向Android设备发送GCM推送通知
如何使用Python创建服务器向Android设备发送GCM推送通知
白如意i
8 0
张柏镒
|
30天前
|
弹性计算
阿里云马来西亚服务器租赁费用、吉隆坡公网带宽收费价格整理
阿里云马来西亚(吉隆坡)服务器提供多种配置如2核2G至16核64G等, 实例规格涵盖经济型e、通用算力型u1等。示例价格:2核2G经济型e约56.53元/月, 4核32G通用算力型u1约809.62元/月。公网带宽预付费价格从1Mbps起22元/月, 按量付费0.529元/GB。
张柏镒
41 1
小空门123-30335
|
1月前
|
Shell Python
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
`pytest-httpserver`是一个pytest插件,它允许你在测试期间启动一个轻量级的HTTP服务器,并模拟HTTP请求和响应。
小空门123-30335
72 4
花酒锄作田
|
16天前
|
缓存 算法 应用服务中间件
nginx搭建https服务器
nginx搭建https服务器
花酒锄作田
36 0

热门文章

最新文章

  • 1
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  • 2
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  • 3
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  • 4
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  • 5
    IE8中HTTP连接数目的变化
  • 6
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  • 7
    [原创]对于运行ASP.NET程序时,提示:无法启动程序“http://localhost:3532/Default.aspx”。的解决办法
  • 8
    Switching Between HTTP and HTTPS Automatically
  • 9
    springmvc No mapping found for HTTP request with URI in Dispatc
  • 10
    Detecting HTTP Load Balancers using Halberd
  • 1
    Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
    61
  • 2
    阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
    768
  • 3
    阿里云服务器NVMe SSD本地盘和SATA HDD本地盘详解
    291
  • 4
    阿里云服务器付费模式包年包月、按量付费、抢占式实例选择说明
    337
  • 5
    TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
    52
  • 6
    使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-2
    79
  • 7
    使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-1
    84
  • 8
    构建高效可靠的Linux服务器监控体系
    50
  • 9
    Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
    437
  • 10
    宽带远程接入服务器:BRAS,宽带接入技术中不可或缺的一环!
    268
  • 相关课程

    更多
  • ECS上云入门三部曲
  • 服务器硬件基础
  • Linux Web服务器Nginx搭建与配置
  • 7天玩转云服务器
  • 云服务器选型、迁云最佳实践
  • 云服务器ECS基本操作
  • 相关电子书

    更多
  • 如何运维千台以上游戏云服务器
  • 网站/服务器取证 实践与挑战
  • ECS快储存加密技术
  • 相关实验场景

    更多
  • 为ECS添加安全组规则
  • 所以!云服务器也可以玩转大模型啦?
  • 基于ECS AMD实例部署ChatGLM-6B大语言模型
  • 使用阿里云ECS搭建WIKI知识库
  • 推荐镜像

    更多
  • python-release
  • nodejs-release
  • composer
  • 下一篇
    【案例实战】SpringBoot整合阿里云文件上传OSS

    PHP网站源码观澜网站优化软件坪山品牌网站设计双龙百度竞价荷坳网站推广方案大浪营销网站坑梓seo优化丹竹头网站关键词优化宝安优秀网站设计荷坳网站推广方案宝安外贸网站设计坑梓外贸网站建设东莞高端网站设计丹竹头网站改版龙岗百搜词包观澜seo网站优化大鹏营销网站龙岗外贸网站制作龙岗关键词按天收费永湖网站推广工具光明百姓网标王南山优秀网站设计光明网站关键词优化同乐网站优化软件惠州网站改版大芬网络推广宝安SEO按天收费西乡百度竞价包年推广大鹏百度网站优化宝安百度竞价布吉网站制作设计歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化