SSLHandshakeException连接到https url时

时间:2017-02-27 08:10:52

标签: android

对于Android中的网络部分,我不是那么好。所以我在这里使用POST服务。当URL在前缀中使用http://时,以下代码正常工作。那时我正在使用HttpURLConnection API。但是使用TLS提供URL时出现问题。从现在开始我需要使用https://。所以我在代码中将HttpURLConnection更改为HttpsURLConnection。但我不知道为什么我会得到这个例外。 Here is my code

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题..

我已经解决了这个问题:

public static OkHttpClient getHttpClient() {
        ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
                .tlsVersions(TlsVersion.TLS_1_0)
                .cipherSuites(
                        CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                        CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
                        CipherSuite.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
                        CipherSuite.TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
                        CipherSuite.TLS_RSA_WITH_AES_128_CBC_SHA,
                        CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA)
                .build();
        return new OkHttpClient.Builder()
                .connectTimeout(2, TimeUnit.MINUTES)
                .writeTimeout(2, TimeUnit.MINUTES)
                .readTimeout(3, TimeUnit.MINUTES)
                .connectionSpecs(Collections.singletonList(spec))
                .protocols(Arrays.asList(Protocol.HTTP_1_1))
                .build();
    }

你可以试试这个。

相关问题