日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OkHttp概述

發(fā)布時(shí)間:2023/12/29 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OkHttp概述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

?

1.OkHttp是什么?

2.Get方式請(qǐng)求URL

3.Post方式提交數(shù)據(jù)到服務(wù)器

4.注意事項(xiàng)

5.引用OkHttp庫(kù)

6.MockWebServer


1.OkHttp是什么?

HTTP是現(xiàn)代應(yīng)用網(wǎng)絡(luò)的方式請(qǐng)求協(xié)議。這是我們交換數(shù)據(jù)和媒體的方式。高效地執(zhí)行HTTP可以使您的工作負(fù)載更快,并節(jié)省帶寬。

OkHttp是一個(gè)默認(rèn)高效的HTTP客戶端:

1)HTTP/2支持允許對(duì)同一主機(jī)的所有請(qǐng)求共享一個(gè)套接字。

2)連接池減少了請(qǐng)求延遲(如果HTTP/2不可用)。

3)透明的GZIP壓縮了下載文件的大小。

4)響應(yīng)緩存完全避免了網(wǎng)絡(luò)中的重復(fù)請(qǐng)求。

當(dāng)網(wǎng)絡(luò)出現(xiàn)問(wèn)題時(shí),OkHttp會(huì)堅(jiān)持下來(lái):它會(huì)從常見的連接問(wèn)題中悄悄地恢復(fù)過(guò)來(lái)。如果您的服務(wù)有多個(gè)IP地址,如果第一個(gè)連接失敗,OkHttp將嘗試備用地址。這對(duì)于IPv4+IPv6和托管在冗余數(shù)據(jù)中心中的服務(wù)是必要的。OkHttp支持現(xiàn)代TLS特性(TLS 1.3、ALPN、證書固定)。可以將其配置為回退以實(shí)現(xiàn)廣泛的連接。

使用OkHttp很容易。它的請(qǐng)求/響應(yīng)API是用鏈?zhǔn)綐?gòu)建器和不變性設(shè)計(jì)的。它同時(shí)支持同步阻塞調(diào)用和帶回調(diào)的異步調(diào)用。

2.Get方式請(qǐng)求URL

這個(gè)程序請(qǐng)求一個(gè)URL和以字符串的格式打印它的響應(yīng)內(nèi)容:

OkHttpClient client = new OkHttpClient();String run(String url) throws IOException {Request request = new Request.Builder().url(url).build();try (Response response = client.newCall(request).execute()) {return response.body().string();} }

3.Post方式提交數(shù)據(jù)到服務(wù)器

public static final MediaType JSON= MediaType.get("application/json; charset=utf-8");OkHttpClient client = new OkHttpClient();String post(String url, String json) throws IOException {RequestBody body = RequestBody.create(json, JSON);Request request = new Request.Builder().url(url).post(body).build();try (Response response = client.newCall(request).execute()) {return response.body().string();} }

4.注意事項(xiàng)

OkHttp適用于Android 5.0+ (API級(jí)別21+)和Java 8+。

OkHttp依賴于Okio的高性能I/O和Kotlin標(biāo)準(zhǔn)庫(kù)。兩者都是具有強(qiáng)大向后兼容性的小型庫(kù)。

我們強(qiáng)烈建議您隨時(shí)更新OkHttp。與自動(dòng)更新web瀏覽器一樣,與HTTPS客戶機(jī)保持同步是防范潛在安全問(wèn)題的重要手段。我們跟蹤動(dòng)態(tài)TLS生態(tài)系統(tǒng),并調(diào)整OkHttp以改進(jìn)連接和安全性。

OkHttp使用您的平臺(tái)的內(nèi)置TLS實(shí)現(xiàn)。在Java平臺(tái)上,OkHttp還支持Conscrypt(加密),它將BoringSSL與Java集成在一起。OkHttp將使用,如果它是第一個(gè)安全提供商:

Security.insertProviderAt(Conscrypt.newProvider(), 1);

OkHttp 3.12.x branch支持Android 2.3+ (API level 9+)和Java 7+。這些平臺(tái)缺乏對(duì)TLS 1.2的支持,不應(yīng)該使用。但是由于升級(jí)是困難的,我們將備份關(guān)鍵補(bǔ)丁到3.12.x分部到2020年12月31日。

5.引用OkHttp庫(kù)

implementation("com.squareup.okhttp3:okhttp:4.4.0")

6.MockWebServer

OkHttp包含了一個(gè)測(cè)試HTTP,HTTPS和HTTP/2客戶端;

testImplementation("com.squareup.okhttp3:mockwebserver:4.4.0")

?

?

?

?

?

?

?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的OkHttp概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。