gpt4 book ai didi

android - javax.net.ssl.SSLPeerUnverifiedException : No peer certificate while I am working with google place api in android

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:34 25 4
gpt4 key购买 nike

<分区>

我在 android 模拟器中使用 google place api 时遇到 javax.net.ssl.SSLPeerUnverifiedException: No peer certificate exception。下面是我的 url:

https://maps.googleapis.com/maps/api/place/search/json?&location=28.632808,77.218276&radius=1000&sensor=false&key=AIzaSyC3y3fOMTqTkCjNNETQTCKustG7BRk_eVc

当我简单地在浏览器地址栏中粘贴上面的 url 时,它简单地给出了 Json 字符串。所以,我认为不需要任何证书身份验证。

经过这么多谷歌搜索并投入了 2-3 天后,我使用了 org.apache.http.conn.ssl.SSLSocketFactory 包的 SSLSocketFacory 类来避免对等证书错误。

下面是我的代码:

public static HttpClient wrapClient(HttpClient base) {
try {
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {

public void checkClientTrusted(X509Certificate[] xcs, String string) throws CertificateException {
}

public void checkServerTrusted(X509Certificate[] xcs, String string) throws CertificateException {
}

public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
X509HostnameVerifier verifier = new X509HostnameVerifier() {

public void verify(String string, SSLSocket ssls) throws IOException {
}

public void verify(String string, X509Certificate xc) throws SSLException {
}

public void verify(String string, String[] strings, String[] strings1) throws SSLException {
}

public boolean verify(String string, SSLSession ssls) {
return true;
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ssf.setHostnameVerifier(verifier);
ClientConnectionManager ccm = base.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", ssf, 443));
return new DefaultHttpClient(ccm, base.getParams());
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}

我正在使用 android api 16,当我使用 SSLSocketFactory(SSLSocketContext) 构造函数时,eclipse 给出了编译错误,所以我搜索了很多并下载了 jarSSLSocketFactory(SSLSocketContext),这是“httpclient-4.1.1.jar”文件。我还在项目构建路径中设置了那个 jar 的顺序,设置了最高优先级。现在我收到以下警告:

VFY:unable to resolve direct method 4253:Lorg/apache/http/conn/ssl/SSLSocketFactory.<init>

然后是

引起的错误跟踪
java.lang.NoSuchMethodError : org.apace.http.conn.ssl.SSLSocketFactory.<init>

请帮帮我,我不知道哪里错了。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com