Android Api的那些事

前言

Android的開發是一個服務端與客戶端協作的過程,但是在客戶端開發中或多或少的會遇到關於Api請求的相關問題,比如爲什麼請求失敗了,哪裏請求失敗了,以及這個請求的相關屬性問題,在這篇文章,我們將介紹android api請求的相關技巧

Step 1

或多或少的,大家都知道Postman這個工具,這個工具的作用主要是用作測試接口,確定接口的可用性,以及在請求的相關結果的查看等功能,然後通過工具,我們可以在不編譯運行android程序去獲取api的返回結果,然後我們得到json後,在通過相關在線json工具進行格式化,然後我們就可以進行分析json的返回數據啦

Step 2

Charles是一個非常不錯的抓包工具,在這個抓包工具中,我們可以抓取每一個請求,包括本地的pc web請求,同時也包含moblile的相關http請求

通過這種方式,我們就可以抓取到app中具有哪些的請求,然後我們就可以進行相關的分析與設計操作

但是Charles和模擬器綁定,需要幾個操作:

  • Charles和模擬器(設備)需要在同一個局域網
  • 模擬器(設備)需要進行網絡的代理設置(在這裏,代理ip爲我們的pc ip)

注意:8888爲charles的代理端口,這個地方需要注意,然後我們打開Charles就會檢測到mobile的請求了,這個時候allow請求即可

Step3

最近在開發app的時候,遇到這樣的需求,H5–> Native app ,再加上服務端的一些問題,所以,我們只好自力更生了,我的操作是:首先通過charles去抓取到相關的接口,然後得到json,然後去編寫實體類,然後在去進行相關的native app的請求

在這裏,我們需要打開:

  • 開發工具
  • 模擬器
  • Chales

在這裏,我們可以這麼去理解:

分析:我們的ide去發出run的命令,然後發出到模擬器,模擬器在進行http請求後,charles進行攔截,攔截後進行request請求,請求後得到的response後返回到charles,然後,得到數據後返回到模擬器中,然後,我們的模擬器的logcat日誌就會被ide去捕捉到(以上分析是自己的分析)

在這裏,我們查看下charles給我們捕捉到的信息:

通過這些數據,我們可以充分的分析這次請求的所有的參數設置

對於Post的請求,charles也可以幫我們捕捉到:

通過這些參數,那麼,我們就可以更加合理的去分析和完善我們的這次api請求

Step4

對於抓包,我們可以擴展下,比如,我們可以去抓取某些app的api請求,在這裏我們要排除下https的請求,以及對相關api對特殊處理的請求,這些請求我們的抓包工具是無法抓到的

在開發中,通過相關的工具的協作,可以提高我們的開發效率


Step End

Charles 4.1.1版本註冊碼

Registered Name: 	https://zhile.io
License Key: 		48891cf209c6d32bf4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章