使用 Visual Studio Code (VSCode) 启动 Flask 项目并实现无公网 IP 远程访问内网服务的方案,通常结合了 Flask 的开发功能和一些端口转发或隧道技术。下面将详细介绍如何实现这一过程。
1. 环境准备
首先,我们需要确保已经安装了必要的工具和库。通常我们需要的工具包括:
- Python:请确保你已经安装了 Python,并且版本在 3.6 以上。
-
Flask:可以通过以下命令安装 Flask:
bash pip install Flask
-
VSCode:确保你已经安装了 VSCode,并且安装了 Python 插件以支持 Python 文件的开发。
2. 创建 Flask 应用
在 VSCode 中创建一个新的 Python 文件,例如 app.py
,并编写如下代码:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/')
def home():
return jsonify(message="Hello, Flask!")
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
这里的 app.run(host='0.0.0.0', port=5000)
意味着 Flask 应用会在所有可用的 IP 地址上运行,这是为了确保其他设备可以通过内网访问该服务。
3. 启动 Flask 应用
在 VSCode 中,你可以使用内置终端启动 Flask 应用。首先,切换到包含 app.py
文件的目录,然后运行以下命令:
python app.py
如果没有报错,你应该可以在浏览器中通过 http://<你的内网 IP>:5000
访问到 Flask 服务。
4. 实现远程访问
由于你的设备没有公网 IP,你可以使用一些工具进行端口转发。如 ngrok
或 localtunnel
。
使用 ngrok
-
安装 ngrok: 访问 ngrok 官网 下载并安装适合你操作系统的版本。
-
运行 ngrok: 在终端中运行以下命令来转发 Flask 服务的端口:
bash
ngrok http 5000
运行后,你会看到类似以下的输出:
Forwarding http://<your_ngrok_subdomain>.ngrok.io -> http://localhost:5000
这说明你的 Flask 应用已经成功通过 ngrok 进行了转发。其他设备(如手机或其他电脑)可以通过 http://<your_ngrok_subdomain>.ngrok.io
访问你的 Flask 应用。
5. 使用 VSCode 调试
在 VSCode 中,你可以通过配置 launch.json
来实现对 Flask 应用的调试。点击左侧活动栏的调试图标,选择“创建一个 launch.json 文件”,然后选择 Python 并填写如下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py",
"FLASK_ENV": "development"
},
"jinja": true
}
]
}
这种配置将允许你在 VSCode 中直接调试 Flask 应用。
6. 总结
通过以上步骤,你可以在 VSCode 中轻松启动 Flask 应用,并利用 ngrok 等工具实现无需公网 IP 的远程访问。这对于在不同设备上进行测试或即时分享服务非常有用。请记得在使用完之后结束 ngrok 会话以保证安全。希望这篇文章能帮助你更好地使用 Flask 开发应用。