Volley错误:主机名未经验证

5

在使用Volley进行请求时,我偶尔会遇到这个错误。很奇怪,因为有时它能够正常工作,有时却不能。

com.android.volley.NoConnectionError: java.io.IOException: Hostname '--url--' was not verified

根据这篇文章:http://developer.android.com/training/articles/security-ssl.html,问题涉及主机名验证,但我的API调用在浏览器上总是工作正常,而且像我之前提到的,在Android上通过Volley有时也可以正常工作。
有人之前遇到过这个问题吗?
我看到类似的问题在这里提到,但没有一个与 Volley 有关。它们基本上都指向使用 NullHostNameVerifier(java.io.IOException: Hostname was not verified),但我不知道它是否可以在 Volley 上完成...
2个回答

0

我遇到了同样的错误。在我的情况下,所有的http请求都会正常工作一段时间,然后无论我做什么都会出现“java.io.IOException:Hostname was not verified”异常,直到我重新启动应用程序。

原来是我的Android设备的系统时钟快了大约2分钟,导致SSL验证失败。

一旦我调整了Android设备上的时间,异常就不再发生。


0
这个答案可能会帮助到某些人。确保在console.developers.google.com上存在用于android客户端的API密钥。此外,在项目的lib文件夹中添加所有必要的库文件,并在appspot文件夹中生成客户端文件。

我遇到了相同的错误。您能否更详细地说明一下这个API密钥?我应该把它放在Android项目的哪里? - voghDev
检查你手机/模拟器的网络连接。如果你遇到了设置相关的问题,那么这个链接可能对你有帮助 http://rominirani.com/2014/01/16/google-cloud-endpoints-tutorial-part-3/。 - user3594535
它与SSL有关。通过“信任所有SSL实体”解决了它。 - voghDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接