如何从同一网络上的另一台计算机访问 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
是文件名
【讨论】:
我按照所有步骤操作,但仍然拒绝连接。 从您的机器上尝试要从另一台机器访问 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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 webmatrix 访问另一台计算机上的 localhost