首页 > 解决方案 > 如何解决 SocketException: Failed host lookup: 'www.xyz.com' (OS Error: No address associated with hostname, errno = 7)

问题描述

每当我在大约 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 上开发一个颤振应用程序。

版本:

  http: ^0.12.0+1
  flutter: 1.0

案例:

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

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

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

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

谢谢!

标签: androidhttpdartfluttersocketexception

解决方案


添加互联网权限不仅是一种解决方案。
您还必须确保您在线,无论是移动设备还是模拟器

  1. 确保您在线,无论是移动设备还是模拟器

  2. 确保您已在应用的 android/app/src/main/AndroidManifest.xml 中授予互联网权限

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


推荐阅读