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

Android中HttpsURLConnection返回502/403状态过慢的问题求助

Android模拟器中HttpsURLConnection获取响应码超时问题

更新:目标站点已变更,不再返回Nginx通用502错误,而是即时返回带自定义消息的403错误,导致原问题无法复现。

我开发了一款从Weather.gov获取数据的应用,当该站点出现故障时,发现HttpsURLConnection需要数分钟才能返回状态码。相关代码如下:

String urlString = "https://api.weather.gov/gridpoints/VEF/127,91/forecast";
HttpsURLConnection connection = (HttpsURLConnection) new URL (urlString).openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
connection.setReadTimeout (1000);
int responseCode = connection.getResponseCode (); // 此处需等待数分钟才能返回

不同环境下的表现:

  • 浏览器中打开该链接,可即时返回结果;
  • 桌面程序运行相同逻辑,也可即时返回结果;
  • Android Studio模拟器中运行时,却需要数分钟才能返回;
  • 调整超时设置无任何效果。

我想请教:如何让响应更快返回,以便及时告知用户出现问题?尽管我已将该逻辑放在线程中,可显示“处理中”状态,但本不应如此——如前文所述,其他环境均可即时返回状态。

注:可能有人会建议更换天气数据源,但这并非重点。网络连接问题时有发生,我希望优化应用的异常处理能力。

开发环境

  • Android Studio Giraffe | 2022.3.1 Patch 1
    • Build #AI-223.8836.35.2231.10671973,构建于2023年8月17日
    • 运行时版本:17.0.6+0-b2043.56-10027231 amd64
    • 虚拟机:JetBrains s.r.o. 出品的OpenJDK 64位服务器虚拟机
  • 桌面JDK版本:openjdk version "19.0.2" 2023-01-17,OpenJDK Runtime Environment (build 19.0.2+7-44)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:40:22