【问题标题】:How to solve SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)如何解决 SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)
【发布时间】:2019-06-30 06:18:38
【问题描述】:

每当我在大约 20 秒后尝试进行 http 调用时,我都会在控制台中出现以下错误:

E/flutter ( 8274): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 8274): SocketException: Failed host lookup: 'flutter-project-xxxxx.firebaseio.com' (OS Error: No address associated with hostname, errno = 7)

我通过应用程序 http 包调用的每个方法和每个路由都会发生此错误。

我正在使用 Android Studio 的 AVD 虚拟设备在 Windows 上开发 Flutter 应用。

版本:

  http: ^0.12.0+1
  flutter: 1.0

案例:

  1. 在家中或通过手机共享: 连接在虚拟设备的每个部分都可以正常工作

  2. 从我的工作网络(防火墙后面):

只有使用 Android Web View,我才能毫无问题地浏览互联网(我什至可以调用相同的 url,我在代码中使用它并且它可以工作)。 在测试我的应用程序时,在虚拟设备中使用任何其他应用程序(Chrome、Google Play、ecc...)时出现连接错误,特别是“SocketException”。

来自该应用程序的呼叫之间有什么区别? 有没有办法像在 webview 中一样路由我的应用程序调用?

谢谢!

【问题讨论】:

  • 只是想补充一点,如果您的手机连接到带防火墙的 WiFi,可能会发生此错误...这可能会阻止流量(在我的情况下,它是针对公司设置的)。并非总是首先想到,但值得一提
  • 我用的是真机,在我的情况下,我的移动数据没有打开,所以我只是用我的移动数据然后问题就会解决,所以请检查你与真机的连接

标签: android http dart flutter socketexception


【解决方案1】:

在我的情况下,我在将 WIFI 连接到系统之前打开了模拟器。当网络(WIFI)连接到我的系统但无法连接到模拟器时。 由于 Emulator 无法访问 Internet,出现此问题。我通过这种方式解决了此问题。

解决方案

连接到系统的网络访问然后我关闭了模拟器并重新打开它。安装应用程序,运行应用程序并打开它。最后,每个 API 都可以正常工作。

【讨论】:

    【解决方案2】:

    翻译:在我的情况下,计算机有互联网,但模拟器没有。我在模拟器上配置了连接,解决了。

    【讨论】:

    • @SkypeMeSM 请不要为作者翻译帖子。如果作者不能用英语表达他们的贡献,那么他们也无法接受反馈、讨论和反应。
    • @Yunnosch 作者给出了正确的答案。他还将他们的母语翻译成英文,以便其他作者学习并解决这个问题。
    • @RahulKushwaha 不,这篇文章的作者没有翻译。
    【解决方案3】:

    确保您已添加android/app/src/main/AndroidManifest.xml

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

    【讨论】:

      猜你喜欢
      • 2016-01-10
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2016-12-08
      • 2020-05-16
      • 2022-12-22
      • 1970-01-01
      • 2020-09-07
      相关资源
      最近更新 更多