在真实设备上出现以下错误 ︰
Volley error: com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
模拟器上没出现该错误。
解决方法:
在你的Application onCreate方法中添加如下代码:
/**
* Enables https connections
* https://www.itstrike.cn/Question/13b0aa2b-ce37-4243-a488-330980408a64.html
*/
@SuppressLint("TrulyRandom")
public static void handleSSLHandshake() {
try {
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
});
} catch (Exception ignored) {
}
}
分享到:
相关推荐
为volley添加https请求支持
在Android开发中,Volley是一个非常流行的网络请求库,它由Google开发并推荐使用,以其高效、简单和灵活的特点受到广大开发者喜爱。本教程将详细讲解如何在Android 6.0及以上版本中,利用Volley库实现HTTPS请求,...
4. HttpStack:处理 HTTP/HTTPS 协议的底层实现,Volley 默认使用的是 HurlStack,不支持 HTTPS。 为了使 Volley 支持 HTTPS,我们需要替换默认的 HttpStack 实现。一种常见的方式是使用 OkHttp,它是一个强大的...
Volley支持https的jar包(修改源码信任所以证书)
然而,对于Android 5.0以下的设备,由于SSL/TLS协议栈的限制,可能会遇到`SSLHandshakeException`的问题,这使得应用无法正常地通过HTTPS与服务器建立安全连接。本篇文章将深入探讨这个问题的原因以及如何通过代码...
Volley支持https的jar包(信任所以证书)
### 使用 Volley 获取 JSON 数据 #### 一、简介 在 Android 开发中,应用程序常常需要与后端服务器进行交互,以获取或发送数据。其中一种常用的技术是使用 Volley 库来处理网络请求。Volley 是一个现代化的网络库...
在本项目中,"使用Volley-jar的包"是一个包含了Volley库的Android工程,目的是验证打包的Volley库是否能够正常工作。以下是对Volley库及其使用的详细解释。 1. **Volley的特点**: - **快速响应**:Volley通过内存...
"使用volley优化的瀑布流"这一主题,正是关注于如何通过Volley库来提升Android应用的性能,特别是对于图片加载和缓存的优化。Volley是Google推出的一个网络请求库,它设计的目标是快速、高效,特别适合于移动设备上...
在本篇文章中,我们将深入探讨Volley的基本使用,包括其核心组件、网络请求的发起与处理,以及如何在实际项目中集成和配置Volley。 ### Volley的核心组件 1. **RequestQueue**:这是Volley的核心组件,负责管理...
在你的压缩包中,可能包含了使用Volley的示例代码(Dome)和详细的说明文档,这可以帮助你更深入地理解和应用Volley框架。通过阅读这些示例和文档,你将能够了解如何处理不同类型的网络请求,如何配置缓存策略,以及...
在本主题中,我们将深入探讨如何使用 Volley 获取 JSON 数据,特别是在处理中文乱码问题以及解析 JSON 对象来获取天气信息。 首先,Volley 的核心优势在于其缓存机制和线程管理。通过内部的请求队列,Volley 可以...
在"使用Volley天气预报app"中,开发者利用Volley库来获取并显示天气预报信息。这个应用程序展示了如何有效地利用Volley的`StringRequest`和`JsonRequest`来处理不同类型的数据。 1. **Volley基础**: - **Volley...
本文将详细介绍如何在Android项目中使用Volley库来实现图片轮播。 首先,我们需要在项目中集成Volley库。这可以通过在build.gradle文件中添加依赖来实现: ```gradle dependencies { implementation '...
volley 使用自签名服务器证书从 Android 向服务器发送 https 请求时需要此模块。 为什么你应该阅读这篇文章 要在 Android 中使用 https 进行通信,请遵循与发送 http 请求相同的方法。 URL url = new URL ( " ...
本文将深入探讨如何使用Volley框架通过GET方法从网络获取数据。 一、Volley概述 Volley是Android平台上的一个网络通信库,它的设计目标是简化网络请求并优化内存使用。Volley提供了异步网络请求、请求队列管理、...
Volley以其高效、灵活和易于使用的特性,成为许多Android开发者首选的网络库。 首先,我们来详细了解一下Volley的核心特性: 1. **缓存策略**:Volley提供了内存和磁盘两级缓存机制,可以有效地减少网络请求,提高...
Volley是Android平台上的一个网络库,由Google开发并推荐使用,主要针对移动设备的特点进行了优化,特别适合处理大量的小数据量的网络请求。Volley提供了高效、易用且功能丰富的网络通信框架,使得开发者可以方便地...
在Android项目中使用Volley,首先需要添加依赖。如果使用的是Gradle构建系统,可以在app级别的build.gradle文件中添加以下依赖: ```groovy dependencies { implementation 'com.android.volley:volley:1.2.1' ...
这个“Volley使用的demo”是一个实际应用示例,演示了如何利用Volley框架来加载网络图片。下面我们将深入探讨Volley的关键特性和在Android应用程序中的使用方法。 ### 1. Volley简介 Volley设计的核心目标是速度和...