CALL
request
每一個(gè)請求包含Url悍引,請求類型(get枫疆,post),header棋枕。
還可以包含一個(gè)body白修,可以上傳文件。
response
包含一個(gè)Http code重斑,header兵睛,body
重寫請求(簽名,添加header)
重寫響應(yīng)(json解析)
重定向請求(server 302窥浪,自動重定向獲取最終請求結(jié)果)
重試請求(配置請求錯(cuò)誤重試次數(shù)祖很,可配置不同的請求路徑)
call
同步請求
異步請求
請求取消(可以在任何線程取消請求,此時(shí)正在發(fā)送請求或者正在讀響應(yīng)漾脂,請求會拋出IO異常)
Interceptor
應(yīng)用攔截器
不需要擔(dān)心中間過程的響應(yīng),如重定向和重試.
總是只調(diào)用一次,即使HTTP響應(yīng)是從緩存中獲取.
觀察應(yīng)用程序的初衷. 不關(guān)心OkHttp注入的頭信息如:If-None-Match.
允許短路而不調(diào)用Chain.proceed(),即中止調(diào)用.
允許重試,使Chain.proceed()調(diào)用多次.
網(wǎng)絡(luò)攔截器
能夠操作中間過程的響應(yīng),如重定向和重試.
當(dāng)網(wǎng)絡(luò)短路而返回緩存響應(yīng)時(shí)不被調(diào)用.
只觀察在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù).
攜帶請求來訪問連接.