首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Win10主机如何通过VB访问虚拟机(Ubuntu)端口数据

在Ubuntu虚拟机中,可通过几行代码搭建一个非常简单的flask web服务。

from flask import Flask

app=Flask(__name__)

@app.route('/')

def index():

return 'hello world'

if __name__=="__main__":

app.run(debug=True)

运行代码后,打开Ubuntu中浏览器访问127.0.0.1:5000即可正常显示hello world,但如果在Win10中使用浏览器访问对应地址则无法显示。

先说明下为什么有在主机Win10直接访问虚拟机Ubuntu端口数据的需求。比如,个人倾向于在Ubuntu环境中开发API接口,但是一些客户端开发(比如微信小程序)只能在Win10或者OSX中进行。如果不能直接访问,只能在Win10中再搭建一套Python开发环境,这样会很繁琐。

接下来说下解决方案。

第一步:

修改最后一行代码为

app.run(host='0.0.0.0',debug=True) 或者 app.run(host='10.0.2.15',debug=True)

这里host可以改成0.0.0.0(表示在局域网的任意IP上)或者10.0.2.15(在Ubuntu中通过ifconfig命令查看对应IP)

第二步:

按下图配置VirtualBox中的网络端口转发

VirtualBox中点击网络,然后在点击端口转发

注意红框中的IP也可以不填写,为空则默认为0.0.0.0;端口均填写5000

这样修改后即可在Win10中正常访问了。

需要注意的是,如果没有第一步修改host,第二步无论怎么设置都不会成功,比如两个IP都设置成127.0.0.1或者0.0.0.0。由于网络知识有限,具体原因不太清楚,如果有朋友知道不修改host直接通过VB的端口转发即能成功,欢迎评论,感谢!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201230A0FLPH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券