如何制作 Python 服务器 public?

How do I make a Python server public?

使用此代码:

from http import server
class Serv(server.BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
server.HTTPServer(('host', 80), Serv).serve_forever()

我试过使用我的 public IP,但没有用,我的私人 IP,它只能在同一个网络上工作,还有本地主机,这只是我的 PC。如何更改主机以便当有人连接到我的 IP 时,它会连接到我的网站(通过我的代码)?我需要我的路由器重定向到我的电脑吗?我知道主机可以是我的私有 IP 或本地主机,还有其他主机可以使用吗? 编辑:我在另一个使用 Flask 的问题中看到了一个答案,我现在不想使用任何依赖项。

如果你想让它在任何地方工作,

您的应用程序应侦听 IP 地址 0.0.0.0

这意味着(简而言之)any IPv4 address at all :

from http import server

class Serv(server.BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write(b'Hello, world!')
server.HTTPServer(('', 80), Serv).serve_forever()

如果您最近使用 linux/GNU 基于 OS,您可以使用 :

检查监听端口

ss -ltpn

请注意,在修改之后,您将依赖于您与服务器之间的任何 proxy/firewall 来获得您的应用程序响应。