最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android的OkHttp包處理用戶認證的代碼實例分享

 更新時間:2016年07月13日 16:00:48   作者:成富  
OkHttp包(GitHub主頁github.com/square/okhttp)是一款高人氣安卓HTTP支持包,這里我們來看一下Android的OkHttp包處理用戶認證的代碼實例分享:

OkHttp 提供了對用戶認證的支持。當 HTTP 響應的狀態(tài)代碼是 401 時,OkHttp 會從設置的 Authenticator 對象中獲取到新的 Request 對象并再次嘗試發(fā)出請求。Authenticator 接口中的 authenticate 方法用來提供進行認證的 Request 對象,authenticateProxy 方法用來提供對代理服務器進行認證的 Request 對象。
用戶認證的示例:

OkHttpClient client = new OkHttpClient();
client.setAuthenticator(new Authenticator() {
public Request authenticate(Proxy proxy, Response response) throws IOException {
  String credential = Credentials.basic("user", "password");
  return response.request().newBuilder()
      .header("Authorization", credential)
      .build();
}

public Request authenticateProxy(Proxy proxy, Response response) 
throws IOException {
  return null;
}
});

進階
當需要實現(xiàn)一個 Basic challenge, 使用 Credentials.basic(username, password) 來編碼請求頭。

private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
 client.setAuthenticator(new Authenticator() {
  @Override public Request authenticate(Proxy proxy, Response response) {
   System.out.println("Authenticating for response: " + response);
   System.out.println("Challenges: " + response.challenges());
   String credential = Credentials.basic("jesse", "password1");
   return response.request().newBuilder()
     .header("Authorization", credential)
     .build();
  }

  @Override public Request authenticateProxy(Proxy proxy, Response response) {
   return null; // Null indicates no attempt to authenticate.
  }
 });

 Request request = new Request.Builder()
   .url("http://publicobject.com/secrets/hellosecret.txt")
   .build();

 Response response = client.newCall(request).execute();
 if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

 System.out.println(response.body().string());
}

相關文章

  • 快速關閉android studio的自動保存功能教程

    快速關閉android studio的自動保存功能教程

    這篇文章主要介紹了快速關閉android studio的自動保存功能教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Flutter中如何加載并預覽本地的html文件的方法

    Flutter中如何加載并預覽本地的html文件的方法

    這篇文章主要介紹了Flutter中如何加載并預覽本地的html文件的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Android中截取當前屏幕圖片的實例代碼

    Android中截取當前屏幕圖片的實例代碼

    該篇文章是說明在Android手機或平板電腦中如何實現(xiàn)截取當前屏幕的功能,并把截取的屏幕保存到SDCard中的某個目錄文件夾下面。實現(xiàn)的代碼如下:
    2013-08-08
  • 完美解決Android三星手機從圖庫選擇照片旋轉(zhuǎn)問題

    完美解決Android三星手機從圖庫選擇照片旋轉(zhuǎn)問題

    這篇文章主要幫助大家完美解決了Android三星手機從圖庫選擇照片旋轉(zhuǎn)問題,很實用的解決小案例,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android開發(fā)實現(xiàn)ImageView加載攝像頭拍攝的大圖功能

    Android開發(fā)實現(xiàn)ImageView加載攝像頭拍攝的大圖功能

    這篇文章主要介紹了Android開發(fā)實現(xiàn)ImageView加載攝像頭拍攝的大圖功能,涉及Android基于ImageView的攝像頭拍攝圖片加載、保存及權限控制等相關操作技巧,需要的朋友可以參考下
    2017-11-11
  • Flutter路由框架Fluro使用教程詳細講解

    Flutter路由框架Fluro使用教程詳細講解

    在Flutter應用開發(fā)過程中,除了使用Flutter官方提供的路由外,還可以使用一些第三方路由框架來實現(xiàn)頁面管理和導航,F(xiàn)luro作為一款優(yōu)秀的Flutter企業(yè)級路由框架,F(xiàn)luro的使用比官方提供的路由框架要復雜一些,但是卻非常適合中大型項目
    2022-10-10
  • Android App后臺震動的實現(xiàn)步驟詳解

    Android App后臺震動的實現(xiàn)步驟詳解

    這篇文章主要為大家介紹了Android App后臺震動的實現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Android自定義控件eBook實現(xiàn)翻書效果實例詳解

    Android自定義控件eBook實現(xiàn)翻書效果實例詳解

    這篇文章主要介紹了Android自定義控件eBook實現(xiàn)翻書效果的方法,結合實例形式分析了Android自定義控件實現(xiàn)翻書效果的具體步驟與相關操作技巧,需要的朋友可以參考下
    2016-10-10
  • Android輕松實現(xiàn)多語言的方法示例

    Android輕松實現(xiàn)多語言的方法示例

    本篇文章主要介紹了Android輕松實現(xiàn)多語言的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Android自定義控件實現(xiàn)可左右滑動的導航條

    Android自定義控件實現(xiàn)可左右滑動的導航條

    這篇文章主要介紹了Android自定義控件實現(xiàn)可左右滑動的導航條,能響應快速滑動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

山东省| 阿勒泰市| 眉山市| 河津市| 孟村| 泸州市| 长泰县| 桦甸市| 精河县| 苍南县| 怀仁县| 博兴县| 旺苍县| 临潭县| 香河县| 灵璧县| 耒阳市| 筠连县| 石屏县| 屏东市| 湖州市| 阜宁县| 长岛县| 昌乐县| 望奎县| 沂源县| 海安县| 高雄市| 克什克腾旗| 确山县| 江西省| 瑞金市| 桦川县| 祁连县| 兴海县| 吕梁市| 宜良县| 鄢陵县| 乐亭县| 宜黄县| 汽车|