Flutter调试模式下HTTP请求无法解析www.xyz.app主机的问题
Flutter调试模式下特定网络环境中HTTP POST请求DNS解析失败问题
问题现象
使用Flutter 3.1.3的HTTP包向https://www.xyz.app/api/login发起POST请求时,仅在调试模式下触发以下错误:
SocketException (SocketException: Failed host lookup: 'www.xyz.app' (OS Error: No address associated with hostname, errno = 7))
- 构建APK后请求可正常执行
- 调试模式下访问google.com等其他域名无异常
- 仅在特定网络环境中出现该问题,部分网络可正常运行
相关代码
async { try { final response = await http.post( Uri.parse('https://www.xyz.app/api/login'), body: {"mobile": phoneNumber, "password": password}, ); print(response); print(response.headers); print(response.statusCode); if (response.statusCode == 200) { // Successful login final Map<String, dynamic> responseData = json.decode(response.body); return responseData; } else { // Handle error cases throw Exception('Failed to login'); } } catch (e) { print(e); throw Exception(e); } }
已完成的排查步骤
- 确认网络连接状态正常
- 检测发现部分网络无法解析
www.xyz.app的DNS - 切换至Google DNS(8.8.8.8/8.8.4.4)和Cloudflare DNS(1.1.1.1)后,问题仍未解决
- 同一网络环境下,google.com等其他域名可正常访问
- 确认问题仅局限于调试模式,APK构建后无异常
内容的提问来源于stack exchange,提问作者Parag Jyoti
相关产品推荐
相关产品推荐

