如何从同一网络上的另一台计算机访问 localhost? [复制]

Posted

技术标签:

【中文标题】如何从同一网络上的另一台计算机访问 localhost? [复制]【英文标题】:How to access localhost from another computer on same network? [duplicate] 【发布时间】:2020-03-20 09:51:05 【问题描述】:

我已经编写了一些烧瓶 api 并在 http://localhost:5000/ 上运行。 我想从连接在同一网络中的其他计算机上测试这些 api。 我正在使用 Windows 10。

我尝试过的:

    我做了 ipconfig/all 并得到了 ipv4 地址。无线 LAN 适配器 Wi-Fi:-> IPv4 地址:XX.XX.XXX.XXX(首选)。

    运行 XX.XX.XXX.XXX:5000 ,但收到“无法访问此站点”。

【问题讨论】:

你可以做app.run("0.0.0.0", port=5000),从另一台机器,去服务器机器ip:5000访问它。 @HarshalParekh 我如何获取服务器机器 ip? ...服务器机器是你的机器 无线 LAN 适配器 Wi-Fi:-> IPv4 地址:XX.XX.XXX.XXX(首选)。?是那个 @HarshalParekh "sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Cannot assign requested address" 通过将 localhost 更改为 0.0.0.0 得到此错误 【参考方案1】:

在你的机器上打开 5000 端口。请按照以下步骤操作:

    导航到控制面板、系统和安全以及 Windows 防火墙。 选择高级设置并突出显示左侧窗格中的入站规则。 右键单击入站规则并选择新建规则。 添加您需要打开的端口,然后单击下一步(在您的情况下为 5000)。 将协议(TCP 或 UDP)和端口号添加到下一个窗口中,然后单击下一步。 在下一个窗口中选择允许连接,然后点击下一步。 选择您认为合适的网络类型,然后单击下一步。 将规则命名为有意义的名称,然后单击完成。

然后尝试通过<your ip>:5000访问

示例代码如下:

import flask

app = flask.Flask(__name__)
app.config["DEBUG"] = True


@app.route('/', methods=['GET'])
def home():
    return "<h1>Test Data</p>"

app.run(host='0.0.0.0')

并通过 cmd 以python api.py 运行您的应用程序,其中api.py 是文件名

【讨论】:

我按照所有步骤操作,但仍然拒绝连接。 从您的机器上尝试 :5000 以确保应用程序正在运行 我可以访问 localhost:5000 但使用这个 :5000 我不能。 如何获取我的ip? m 使用 ip 形式:无线 LAN 适配器 Wi-Fi:-> IPv4 地址:XX.XX.XXX.XXX(首选)。 转到命令提示符,键入“ipconfig”【参考方案2】:

要从另一台机器访问 Flask 应用程序,您需要将应用程序绑定到 0.0.0.0 而不是 localhost (127.0.0.1)。后者不会路由到另一台机器。

如果您通过 python 运行应用程序,请使用run(host='0.0.0.0')

如果您正在运行应用程序 flask run,请添加 --host=0.0.0.0

【讨论】:

"sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Cannot assign requested address" 通过将 localhost 更改为 0.0.0.0 得到此错误【参考方案3】:

暂时将其公开可能更容易:https://ngrok.com/

但是在同一台机器上进行本地测试会更容易。

【讨论】:

【参考方案4】:

您只需在浏览器中输入指定端口号的主机 IP 地址即可,因为两台计算机都在同一个网络中。

【讨论】:

以上是关于如何从同一网络上的另一台计算机访问 localhost? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在同一网络上的另一台计算机上连接到 neo4j?

无法从同一网络上的另一台计算机连接到 Grapevine

从网络上的另一台电脑访问 ASP.NET 开发服务器

使用 webmatrix 访问另一台计算机上的 localhost

从另一个网络上的另一台计算机访问 db 时出现错误 #1045

无法从同一网络中的另一台计算机访问在我的计算机中运行的 SPRING BOOT 应用程序的 REST API