You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter调用localhost中NodeJS RestAPI方法 iPhone连接Mac场景适用

Flutter iOS端调用Mac本地NodeJS服务操作步骤
  • 第一步:获取Mac的局域网IP地址
    打开终端执行命令ifconfig | grep inet,找到当前联网网卡(一般是en0对应WiFi,en1对应有线网)下的IP地址,格式通常为192.168.x.x、10.x.x.x,也可以直接在系统设置「Wi-Fi/以太网」的详情页查看IP地址。
  • 第二步:修改NodeJS服务监听配置
    默认Node服务如果只监听127.0.0.1,仅本机可访问,需要将监听地址改为0.0.0.0,Express框架示例:
    // 3000为你的服务端口,自行替换
    app.listen(3000, '0.0.0.0', () => {
      console.log('service running on http://0.0.0.0:3000')
    })
    
  • 第三步:放行Mac防火墙限制
    打开系统设置「网络 - 防火墙」,要么临时关闭防火墙,要么将你的NodeJS程序添加到「允许传入连接」的列表中,避免请求被拦截。
  • 第四步:调整Flutter请求地址与iOS权限配置
    1. 将Flutter代码中原来的请求地址http://localhost:端口或http://127.0.0.1:端口替换为第一步获取的Mac局域网IP,例如http://192.168.3.2:3000/api/xxx
    2. 解决iOS ATS限制:默认禁止未加密的HTTP请求,需要修改项目下ios/Runner/Info.plist文件,添加如下配置:
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 验证步骤:先在iPhone自带的Safari浏览器中输入你拼接好的完整接口地址,确认可以正常拿到返回结果后,再运行Flutter应用请求即可。

可选方案(iPhone有线连接Mac时可用):使用端口转发工具将Mac的服务端口映射到iPhone本地,此时Flutter端可直接使用localhost地址访问,无需修改为局域网IP。

内容的提问来源于stack exchange,提问作者user2570135

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:45:04