java調用rest
發布時間: 2023-07-25 21:39:34
❶ java 如何模擬瀏覽器調用rest api介面
用Apache的HttpClient包可以直接發請求
❷ java開發 Rest 介面怎樣設計api_key 也就是我的api怎樣才能不被自由訪問,需要在header加入驗證
以下僅供參考:
如果rest端要自己維護api_key,類似存儲在資料庫里,就分發(授權)給客戶端某個api_key,然後客戶端用api_key和一些其他條件如時間戳+簽名去rest端換取一個token,最後客戶端用這個token和rest端進行交互,可以參考下微信的oauth鑒權.
如果rest端不維護api_key,也就省去分發(授權)客戶端api_key的工作,此時客戶端用傳遞的參數和其他條件如時間戳+簽名去rest端換取一個token..同上
上述所說的token都是唯一的,對於同一個客戶端的請求而言,下次刷取token的時候,之前產生的token作廢;
token本身應該要維持在rest端,也應該有一個過期的限制;
(參數)+(api_key)+時間戳 通過加密演算法(如sha2)生成簽名,rest端同邏輯校驗簽名是否合法一般就能卡掉一大部分的訪問,
至於api_key或者token放在哪裡,一般無狀態訪問比較常見是在head里(常見如angularjs項目),這里我覺得隨意,因為只要被攔截都可見,只是head可以放比較多的東西用來障目就是了.
當然,如果正在用的token被攔截,同樣也是可以隨意訪問的,因此可能要求https協議加證書應該會更牢固點(沒試過);
一般就這樣,再高的我也不懂了,如果陳述有什麼問題,者有什麼看法,也還請不吝賜教~
熱點內容