- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要从 HTTPS url 检索内容,但我总是收到此错误:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
这是我的代码:
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setHostnameVerifier(new AlwaysTrustHostnameVerifier());
class AlwaysTrustHostnameVerifier implements X509TrustManager, HostnameVerifier
{
@Override
public void checkClientTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public void checkServerTrusted(X509Certificate[] arg0, String arg1)
throws CertificateException {
// TODO Auto-generated method stub
}
@Override
public X509Certificate[] getAcceptedIssuers() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean verify(String arg0, SSLSession arg1) {
// TODO Auto-generated method stub
return false;
}
}
所以我不知道我是否可以在不安装安全证书的情况下检索或发布到 https url?我曾经使用过 NodeJS/PHP,都是可行的,只是通过添加一些头信息来忽略错误,例如 rejectUnauthorized 为 false...
Java 中是否有任何解决方法可以让我无需安装安全证书就可以向 https 发送请求?
谢谢
最佳答案
这是一个bug在 openJDK 中,您可能需要获取 openJDK 的最新修复版本或迁移到 OracleJDK。
关于security - 如何使用JAVA URL httpsconnection发送没有证书的https请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28620312/
我正在打开一个类似于以下代码的 HTTPSUrlConnection。我想确保正在使用某个提供程序(我加载的 RSA 提供程序)。如何查询 HTTPSUrlConnection 以确定正在使用的提供程
Python初学者 >>> import oauth2 Traceback (most recent call last): File "", line 1, in File "/usr/local/
我想从我学校的网络服务获取数据。我在Eclipse中写下代码: List getInfo(String osobniCislo) throws IOException { St
我想使用 HTTPS 协议(protocol)从 python 的 httplib 库发送 Get 请求。 我已经浏览了多个答案,建议如何在使用 http 协议(protocol)时执行此操作,但它们
我正在 Android Studio 下开发一个 Android 应用程序,我需要建立 HTTPS 连接。到目前为止,我已经成功了,但在当前的实现中,我信任所有主机,这很容易导致中间人攻击。所以我想知
我发现 httplib.HTTPSConnection 不执行自动服务器证书检查。据我了解的问题,我需要手动添加该功能,例如通过按照描述对此类进行子类化 here . 由于我使用的是 Python2.
使用httplib创建HTTPSConnection时,很容易设置超时: connection = httplib.HTTPSConnection('some.server.com', timeout
我正在尝试使用 httplib 库访问网站,但出现此错误:[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:590) c = httplib.HTTPSC
在 Java 中,您如何知道您是否有来自 Http(s) 连接的错误流或者它是否是 InputStream?我能告诉你的唯一方法是两者兼顾,检查是否为 null 并捕获任何异常。 HttpCo
我制作了一个小的 Python 脚本,以在公开之前对我一直在开发的网站进行压力测试。它通过每 5 分钟生成一个新线程来运行,该线程在 while(true) 循环中运行以下代码。 conn = htt
我是 Django 的新手,正在尝试使用 django-social-auth在我的 Django 项目中。 我关注了 README这很清楚。 我的settings.py #... AUTHENTIC
我正在使用 http.client.HTTPSConnection生成到我的服务器的 HTTPS 连接。我不能使用原始主机名连接到服务器,因为这是一个测试设置,但我需要使用正确的主机名作为 SNI 进
我正在尝试将 Pepper 连接到 Dialogflow。 Dialogflow SDK 存储在项目文件夹/lib 中。 Pepper使用的python版本是2.7。我使用Python 2.7.9。
我正在尝试连接到使用 HTTPS 客户端证书身份验证的 Web 服务器。当我使用 curl 时它工作正常: leo@leo-VirtualBox:~/development/pki-client$ c
我正在尝试使用我的 ipv4 和 ipv6 地址更新 freedns.afraid.org 的内容,并将请求与相应接口(interface)的 ip 绑定(bind); ipv4 可以,ipv6 不行
我有以下 https 客户端,它尝试将简单的 POST 请求发送到删除服务器。 !/usr/bin/python3 import http.client import json import ssl
我正在尝试使用 httplib 的 HTTPSConnection 进行客户端验证,使用 PKCS #12 证书。我知道证书很好,因为我可以在 MSIE 和 Firefox 中使用它连接到服务器。 这
在HTTP PROTOCOL CLIENT的官方文档中 class http.client.HTTPSConnection(host, port=None, key_file=None, cert_f
将我的主机升级到 Ubuntu 12 并成功重建 android 后,在设备上安装后,系统启动循环进入此错误: I/Zygote ( 147): Preloading classes... D/d
我正在尝试在 AWS ElasticBeanstalk 中部署 django。 当我按照所示步骤操作时 here ,我坚持使用命令“eb init”。 我在 Ubuntu 12.10 (vmware)
我是一名优秀的程序员,十分优秀!