日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

譯文

 quasiceo 2018-09-12

HTTP是現代應用網絡交互數據信息和媒介影像的主要傳輸方式。更有效率的HTTP傳輸會使你的互聯網應用加載更快,同時節(jié)省帶寬。

OkHttp是一個HTTP的客戶端,能夠有效地完成:

  1. 使用HTTP 2.0協(xié)議傳輸,所有請求使用同一個域名,共享一個socket。
  2. 如果HTTP2.0 不可用,通過連接池可以減少請求延遲
  3. 透明的GZIP壓縮減少了包下載的大小
  4. 響應緩存避免了網絡重復請求

OkHttp堅持認為網絡環(huán)境是復雜混亂且問題不斷的。因此,他充分考慮了高可用,能夠自發(fā)地從連接問題中恢復: 
如果你的服務能夠提供多個IP地址,當第一次連接失敗后,OkHttp會嘗試連接備選IP地址,當服務端是多數據中心架構時,這種方式相當有用。 
OkHttp初始化新連接時采用的是新的TLS協(xié)議,比如SNI、ALPN,如果握手失敗,會降級為采用TLS 1.0協(xié)議。

使用OkHttp很簡單,API設計合理且不會輕易改變。同時支持同步阻塞式調用和異步回調函數調用。

版本支持:OkHttp支持安卓2.3及以上版本,JDK要求1.7及以上

下載及引用

要使用OkHttp,你需要同時支持Okio,用于快速IO和可調整的緩沖區(qū),最新Jar的下載地址這里寫鏈接內容。 
OkHttp代碼,實例,文檔都共享在Github上。

MAVEN地址

<dependency> <groupId>com.squareup.okhttp3<!--> <artifactId>okhttp<!--> <version>3.4.1<!--> <!-->
					
  • 1
  • 2
  • 3
  • 4
  • 5

GRADLE地址

compile 'com.squareup.okhttp3:okhttp:3.4.1' 
						
  • 1

實例

Get請求

package com.suning.okhttpdemo; import java.io.IOException; import java.net.InetSocketAddress; import java.net.Proxy; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class GetUrlDemo { String run(String url) throws IOException { //由于本機設置了上網代理,因此OkHttp請求需要綁定代理 InetSocketAddress addr = new InetSocketAddress("10.19.110.55", 8080);
        Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
        OkHttpClient client = new OkHttpClient.
                Builder().proxy(proxy).build();     

        Request request = new Request.Builder()
            .url(url)
            .build(); try (Response response = client.newCall(request).execute()) { return response.body().string();
        }
      } public static void main(String[] args) throws IOException {
        GetUrlDemo demo = new GetUrlDemo();
        String reponse = demo.run("http://www.jd.com/");
        System.out.println(reponse);

    }
}
								
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

Post請求

package okhttp3.guide;

import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response; public class PostExample { public static final MediaType JSON
      = MediaType.parse("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();
    }
  } String bowlingJson(String player1, 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多