Android模拟器无法连接本地IIS Express部署的API求助
解决Flutter安卓模拟器无法连接IIS Express本地API的问题
1. 修改IIS Express的绑定配置
默认IIS Express仅监听localhost,导致模拟器的10.0.2.2无法访问。需要调整站点绑定:
- 找到VS2022项目下的
.vs\config\applicationhost.config文件(.vs是隐藏文件夹,需开启系统显示隐藏文件的设置) - 定位到目标站点对应的
<site>节点,在<bindings>节点内添加新绑定:<bindings> <!-- 保留原localhost绑定 --> <binding protocol="http" bindingInformation="*:你的端口号:localhost" /> <!-- 添加监听所有IP的绑定 --> <binding protocol="http" bindingInformation="*:你的端口号:0.0.0.0" /> <!-- 可选:添加本机局域网IP的绑定,比如192.168.1.100 --> <binding protocol="http" bindingInformation="*:你的端口号:192.168.1.100" /> </bindings> - 保存文件后,右键点击任务栏托盘里的IIS Express图标,选择停止站点后重新启动
2. 配置Windows防火墙允许端口访问
- 打开Windows Defender防火墙,点击「高级设置」
- 选择「入站规则」→「新建规则」
- 规则类型选「端口」,下一步后输入API使用的端口号,选择「TCP」协议
- 选择「允许连接」,下一步后勾选所有网络类型(域、专用、公网)
- 给规则命名(比如「IIS Express API端口放行」),完成配置
3. 验证模拟器网络连通性
- 在安卓模拟器中打开自带浏览器,输入
http://10.0.2.2:你的端口号/你的API路径(例如http://10.0.2.2:5000/api/users) - 如果浏览器能正常返回API数据,说明网络配置无问题,问题出在Flutter代码;如果浏览器也访问失败,回到前两步检查配置细节
4. Flutter代码排查
- 确认请求URL是
http://10.0.2.2:端口号,无拼写错误 - 如果API使用HTTPS,模拟器默认不信任IIS Express的自签名证书,可暂时切换为HTTP测试,或给模拟器安装对应证书
- 先编写最简版GET请求测试,排除请求头、认证逻辑等额外因素导致的失败
内容的提问来源于stack exchange,提问作者Sarisha Nimai Naidoo
相关产品推荐
相关产品推荐

