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

如何使用http包的get()方法?调用OpenWeatherMap API遇解析错误

解决OpenWeatherMap API请求时的Failed host lookup错误

你遇到的Failed host lookup: 'api.openweathermap.org'错误是主机解析失败导致的,以下是几个可行的解决方向:

  • 添加网络权限
    安卓项目需要在android/app/src/main/AndroidManifest.xml中添加网络权限:

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    

    iOS项目若遇到HTTPS访问异常,可在ios/Runner/Info.plist中添加网络访问配置:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    
  • 验证设备网络状态

    • 模拟器:重启模拟器,或切换电脑的网络连接方式(如WiFi转有线)后重试
    • 真机:检查是否开启飞行模式,用手机浏览器直接访问你的API URL,确认网络能正常连接到OpenWeatherMap服务器
  • 优化URL构建方式
    避免手动拼接字符串,改用Uri.https构造器自动处理参数编码,减少格式错误:

    Uri uri = Uri.https(
      'api.openweathermap.org',
      '/data/2.5/weather',
      {
        'lat': latitude.toString(),
        'lon': longitude.toString(),
        'appid': apiKey
      }
    );
    
    try {
      final response = await http.get(uri);
      // 后续处理逻辑
    } on Exception catch (e) {
      print("请求错误: $e");
    }
    
  • 关闭代理或VPN
    如果设备开启了代理或VPN,可能会干扰DNS解析,关闭后再尝试请求


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:15