1. 程式人生 > >利用volley進行http設定請求頭(一)

利用volley進行http設定請求頭(一)

volley在進行服務端訪問時,在涉及到請求訊息頭時,無現有api進行設定。
首先,不要忘記,請求帶訊息頭的資料時我們一般用HttpURLconnection,這是最基本請求帶訊息頭限定的方式。
volley進行http設定訊息頭的應用的場景,舉個例子,app登陸後獲取個人的相關資訊,進行對服務端個人資料的更改,查詢等,比如驗證碼的輸入驗證,比如我要實現我收藏的商品,購物車資訊等,但是在客戶端未登陸的情況下,我是不能顯示這些內容的。所以一定要在登陸後請求訊息時攜帶登陸成功後的jsessionid。
粗暴概略session機制:服務端需要唯一的身份確認,在客戶端登陸成功後,服務端將會寫一份cookie存在客戶端,cookie裡包含的有:
cookie:JsessionId=12345573826;path=/xxxx;
這個Jsessionid是一串不確定的數字或字元,就是你登陸成功後每一次拿著包含這個id的訊息頭才會開啟伺服器端的大門。
回到正題,由於volley已經封裝的相對緊密,我們在用Stringrequest(或其它型別的request型別的api)進行請求時無法新增訊息頭,這正是問題所在。
所以,首先我們要重做請求方式,新增請求的訊息頭,即重寫Stringrequest方法,將訊息頭新增到Stringrequest中去,做成一個新的繼承了StringRequest的CommonRequest;
當我們做好了CommonRequest,再需要用volley進行帶有訊息頭的Http請求時,我們只需要將StringRequest替換成CommonRequest就ok了;
換句話說,不管我這篇文章寫的有多狗屎,你也沒有看懂,然而你只需要將我的CommonRequest複製到專案中去,就能直接拿來使用;
下面我們就重點放在CommonRequest的重寫方法上!