SocketException: Failed host lookup: 'methods.abc.com' (OS Error: No address associated with hostname, errno = 7), StackTrace :
Solution 1
This may not be a Flutter problem. Instead, that is OS Error
which is far more low level.
Firstly, have a check at this: Unable to resolve host "<url here>"; No address associated with hostname.
For example, if your user closed his Wifi and mobile network, then you will see this error.
Usually it is not caused by a bug in your code, but just because the user has no network - if he has no network, how can he resolve the domain name!
Thus, for me, personally, I just ignore such type of error. In other words, I do not report these errors to my backend.
Solution 2
Make Sure that you have active internet connection along with permission defined in AndroidManifest.xml
Solution 3
In my case, I restarted my laptop and it was fine. Most of the times restarting computer will solve the problems like this.
Comments
-
BIS Tech 11 months
I store the API error logs in my DB. I found so many errors on my DB. the log message is the same.
SocketException: Failed host lookup: 'xxx.abc.com' (OS Error: No address associated with hostname, errno = 7), StackTrace :
BTW, This error only occurs to random users. Not for all users.
function
Future<dynamic> abc() async { var responseJson; try { final response = await http.post('${env.url}/xxx/xxx/xxx', headers: {'Authorization': 'Bearer xxx'}); responseJson = _response(response, _errorMap); return responseJson; } catch (e, s) { errorLog.store('$e, StackTrace : $s', _errorMap); throw FetchDataException('message'); } }
env.url looks like this, https://xxx.abc.com
xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="xxx"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application ...
package
http: ^0.12.2