Android java 用okhttputil請求網(wǎng)絡(luò)接口時,走h(yuǎn)ttps的網(wǎng)址會報:Read error: ssl=0x79a6bee848: Failure in SSL librar...

log.png

以下是我問GPT得到的回答:
————————————GPT回答分割線————開始———————————————
當(dāng)使用 OkHttpUtil 請求 HTTPS 網(wǎng)址時,遇到 "Failure in SSL library, usually a protocol error" 錯誤,可能是由于以下原因?qū)е碌模?/p>

  1. 證書問題:HTTPS 網(wǎng)址使用了自簽名證書或無效證書,導(dǎo)致 SSL 驗證失敗。

解決方法:可以嘗試忽略 SSL 驗證,但這會帶來安全風(fēng)險,不推薦在正式環(huán)境中使用。可以使用 OkHttpClientOkHttpClient.Builder 設(shè)置 TrustAllCerts 來實現(xiàn)忽略 SSL 驗證,示例如下:

OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.sslSocketFactory(createTrustAllSocketFactory(), new TrustAllCerts());
OkHttpClient client = builder.build();

// 創(chuàng)建 OkHttpUtil 實例并使用自定義的 OkHttpClient
OkHttpUtil.init(client);

請注意,createTrustAllSocketFactory()TrustAllCerts 是自定義的類,用于忽略 SSL 驗證,請確保其正確實現(xiàn)。

  1. 協(xié)議版本問題:可能是服務(wù)器端與客戶端之間的協(xié)議版本不兼容。

解決方法:嘗試指定較低版本的協(xié)議進(jìn)行連接??梢允褂?OkHttpClient.Builderprotocols() 方法來設(shè)置支持的協(xié)議版本,示例如下:

OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.protocols(Arrays.asList(Protocol.HTTP_1_1));
OkHttpClient client = builder.build();

// 創(chuàng)建 OkHttpUtil 實例并使用自定義的 OkHttpClient
OkHttpUtil.init(client);

在示例中,我們指定了僅支持 HTTP/1.1 協(xié)議。

  1. 服務(wù)器配置問題:可能是服務(wù)器端的 SSL 配置有問題,例如未正確配置證書或密碼等。

解決方法:請與服務(wù)器管理員或開發(fā)人員聯(lián)系,確保服務(wù)器端的 SSL 配置正確。

請注意,以上解決方法中的示例代碼是基于 OkHttpUtil 的使用。如果你使用的是其他 HTTP 請求庫或自己封裝的網(wǎng)絡(luò)請求工具,請根據(jù)具體的庫和實現(xiàn)方式,進(jìn)行相應(yīng)的調(diào)整和處理。

————————————GPT回答分割線————結(jié)束———————————————

而我在實際中遇到這個問題的時候,經(jīng)過詢問后端同事得知他用的版本是:'com.squareup.okhttp3:okhttp:3.8.1' ,而我本端用的是'com.squareup.okhttp3:okhttp:3.3.1'的,當(dāng)我把版本更新到與服務(wù)端一致時,問題得到解決。

以上為本人的開發(fā)中遇到的經(jīng)歷,僅作為記錄,如果能給你帶來幫助,那就更好了。
如果上述的辦法也沒有幫到你,可以看看這篇文章能不能對你有用:
/**
* OkHttp在4.4及以下不支持TLS協(xié)議的解決方法
*/
http://www.itdecent.cn/p/98deba472702

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容