com.android.volley.NoConnectionError:javax.net.ssl.SSLHandshakeException:握手失败

问题描述 投票:0回答:3

使用volley进行基本网络操作,将项目添加为模块时出现无连接握手错误。

虽然该模块在另一个项目中运行良好。

在研发方面,添加了重试策略,但没有用仍然出现相同的错误。

这是我的代码。 https://gist.github.com/fizzysoftware/a895bc2cbd1ad9a048277859f3f23963

android android-volley handshake sslhandshakeexception
3个回答
4
投票

可能是以下两种情况之一:

  1. 您尝试连接到 HTTP url,但它实际上是 HTTPS url,或者
  2. 您尝试连接到 HTTPS 页面,但证书无效。

这些至少是我迄今为止遇到过的案例...


3
投票

将 url 从 Https 更改为 Http 即可。


0
投票

在我的项目中也面临同样的问题。在棉花糖中它的工作足够了。但在 Kitkat 版本中却提出了这个问题

“com.android.volley.NoConnectionError:javax.net.ssl.SSLHandshakeException:握手失败”

为了处理这个问题,我使用了谷歌的身份验证依赖项。请在你的 Gradle 中添加以下依赖项

compile 'com.google.android.gms:play-services-auth:11.0.2'

如果需要安装,请实现低版本安装Security Provider的方法

private void updateAndroidSecurityProvider(Activity callingActivity) {
try {
    ProviderInstaller.installIfNeeded(this);
} catch (GooglePlayServicesRepairableException e) {
    // Thrown when Google Play Services is not installed, up-to-date, or enabled
    // Show dialog to allow users to install, update, or otherwise enable Google Play services.
    GooglePlayServicesUtil.getErrorDialog(e.getConnectionStatusCode(), callingActivity, 0);
} catch (GooglePlayServicesNotAvailableException e) {
    Log.e("SecurityException", "Google Play Services not available.");
}

}

然后在进行网络操作之前调用 Activity 中的方法。

© www.soinside.com 2019 - 2024. All rights reserved.