解决 python flask启动以及端口映射后,在公网中无法访问 的问题

之所以不能从公网访问,往往是因为ip的问题,以往你可能用的是局域网ip,当然不行,访问时使用公网ip。首先启动代码改为:

python 复制代码
app.run(host='0.0.0.0',port=80)

host是ip地址,port是端口号,什么端口号都行,比如5000,建议用80,不过你会收到windows的警告,继续就行了。

运行后界面会打印出信息,当中有一段讲的是监视的ip,比如:

最后一段就是你的公网地址

但是!它也有可能是这样:

你会发现监视的ip是局域网ip,没有公网,怎么办?(可能是因为你没有公网ip)

终极解决办法:

yaml 复制代码
app.run(host='::',port=80)

把0.0.0.0改为::,两者不同是0.0.0.0代表监视所有ipv4地址,::是监视所以有ipv6地址,ipv4有可能是局域网,有可能是公网,而ipv6一般都是公网!所以用ipv6准没错。(前提是你有ipv6,一般都有)

#ipv6是下一代ip

运行后显示的监视地址:

  • Running on all addresses (:😃
  • Running on http://::1:80
  • Running on http://2409:8a7a:****:**** :****:****:a0e9:60e6:80

最后一段是你的公网ipv6地址,注意ipv6地址用 括起来,其他和ipv4是一样的("*"号是我打的码!不是地址,因为我的lsj服务器就是这个地址,未经许可不能访问!)

如果不行,那你连ipv6都没有,买个路由器吧,路由器会为你分配一个ipv6地址

相关推荐
ambition202423 分钟前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
chuan.bai3 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
离陌在学C#5 小时前
C# 事件(Event)详解:从概念到实战
开发语言·c#
Terra.K6 小时前
Java异常学习[特殊字符]
java·开发语言·学习
安_6 小时前
如何构建和使用向量索引?HNSW 和 IVF 有什么区别?
python·ai
葡萄城技术团队7 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
counting money7 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
wuyk5557 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
坚持学习前端日记8 小时前
Python SQLAlchemy ORM 从0到1精通实战手册(基础到复杂高阶)
数据库·python·oracle
峥无8 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl