【问题标题】:Unable to reach server with both Volley and HttpUrlConnection无法同时使用 Volley 和 HttpUrlConnection 访问服务器
【发布时间】:2015-06-28 19:54:41
【问题描述】:

我的应用程序遇到了一个非常奇怪的问题。我使用 Volley 进行网络操作。由于某种原因,某些设备无法访问任何 API 端点。出现此问题的一些设备包括运行 Kitkat 4.4.2 的小米 Note、联想 A7000、华硕 Zenphone 系列等 我所有的网址都是基于 https 的。为了解决这个问题,我发送了一个调试版本,尝试使用 Volley 和 HttpUrlConnection 访问 https url。两者都失败了。有一个sockettimeoutexception。我就是这样确定这个问题的。 设备在不同区域的不同网络上运行 3G。但并非在所有 3G 上都发生。这些用户没有 Wifi,因此他们无法在 Wifi 上运行以排除 DNS 问题。我要求其中一位用户在浏览器上打开相同的 ping url。用户在设备上的 Chrome 浏览器上成功打开了 url,与 Volley 和 HttpUrlConnection 都失败的相同。

我一无所知。 Https在这里会是一个问题吗?为什么其他设备没有发生?

有什么想法吗?谢谢!

【问题讨论】:

  • 这里的症状完全相同......但我什至没有使用 https。然而,我的一些测试人员(在 3G 或 Wifi 上)无法使用应用程序(Volley)加载任何内容,但使用 Chrome 成功访问了服务器。我尝试了许多具有不同 Android 版本(4.4 到 5.1)的不同设备,只有少数有这个问题(Galaxy Note 3 和 Galaxy S4,都在 Lollipop 上)。

标签: android


【解决方案1】:

您提到 3G 还可以,这给我敲响了警钟:3G 总是会覆盖您设置的任何解析器(除非可能使用 iptables)。所以为了调试,我会看看:

adb devices -l     # find your gadget
adb shell          # run shell
su                 # become root
getprop net.dns1   # or `getprop | grep dns`
nslookup troubl.es # a domain in Spain, something to do with Manual.

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2020-12-05
    • 2018-12-10
    • 2014-01-07
    • 2017-10-18
    相关资源
    最近更新 更多