http中的一個(gè)請(qǐng)求頭讓我反思
最近在做一個(gè)項(xiàng)目席噩,是基于開(kāi)源框架搭建的服務(wù)器班缰,比如redmine,zabbix,grafana等,寫安卓客戶端悼枢。將這些服務(wù)器采集到的數(shù)據(jù)再app中展示埠忘。一個(gè)看是很常規(guī)比較容易的項(xiàng)目,但是這服務(wù)器是開(kāi)源的馒索,不是自己公司后的人寫的莹妒,且這些開(kāi)源服務(wù)器是針對(duì)web前端頁(yè)面設(shè)計(jì)的,在請(qǐng)求和返回值上绰上,移動(dòng)端要針對(duì)性的去處理旨怠,所以自己去開(kāi)源官方的文檔找資料摸索。在請(qǐng)求一個(gè)接口的時(shí)候蜈块,沒(méi)有入?yún)⒓澹莇emo中調(diào)用那個(gè)接口后就能拿到正確數(shù)據(jù)迷扇,我當(dāng)時(shí)以為是cookie之類的要同步,結(jié)果折騰半天硬是不行爽哎,后臺(tái)仔細(xì)一看蜓席,demo請(qǐng)求中有個(gè)頭?Authorization: Basic xxxxxxxxxxxxxxx,原來(lái)要帶上這個(gè)基本認(rèn)認(rèn)證頭课锌,但是問(wèn)題又來(lái)了厨内,那個(gè)Basic要怎么來(lái)呢?通過(guò)翻閱資料得到:這是 HTTP基本認(rèn)證是一種用來(lái)允許Web瀏覽器产镐,或其他客戶端程序在請(qǐng)求時(shí)提供以用戶名和口令形式的憑證的登錄方式隘庄。用戶名追加一個(gè)冒號(hào)然后串接上口令,得出的結(jié)果字符串再用Base64算法編碼癣亚,就是這個(gè)Basic 的值了丑掺。這個(gè)小細(xì)節(jié)花費(fèi)了我半天功夫,還是太大意了述雾,一直以為自己對(duì)http協(xié)議很熟悉街州,結(jié)果栽了。引以為戒玻孟,謹(jǐn)慎積累唆缴。