欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java接口測(cè)試Cookie與token原理解析

 更新時(shí)間:2020年04月03日 17:17:43   作者:小強(qiáng)找BUG  
這篇文章主要介紹了Java接口測(cè)試Cookie與token原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、Cookie與token機(jī)制測(cè)試

Cookie與Session

token機(jī)制

cookie/session機(jī)制需要在服務(wù)端保存大量的session信息,造成嚴(yán)重負(fù)擔(dān),而token機(jī)制則避免記錄大量信息,采用服務(wù)器簽發(fā)的token完成驗(yàn)證。

1、客戶端使用用戶名跟密碼請(qǐng)求登錄

2、服務(wù)端收到請(qǐng)求,去驗(yàn)證用戶名與密碼

3、驗(yàn)證成功后,服務(wù)端會(huì)簽發(fā)一個(gè) Token,再把這個(gè) Token 發(fā)送給客戶端

4、客戶端收到 Token 以后可以把它存儲(chǔ)起來(lái),比如放在 Cookie 里或者 Local Storage 里

5、客戶端每次向服務(wù)端請(qǐng)求資源的時(shí)候需要帶著服務(wù)端簽發(fā)的 Token

6、服務(wù)端收到請(qǐng)求,然后去驗(yàn)證客戶端請(qǐng)求里面帶著的 Token,如果驗(yàn)證成功,就向客戶端返回請(qǐng)求的數(shù)據(jù)
相當(dāng)于酒店在你入住之后,給你一段暗號(hào),之后再來(lái)酒店,報(bào)暗號(hào)就可以入住了。

Cookie與token測(cè)試

加載與清空cookieStore

Httpclient提供了cookieStore類用于加載和讀取cookies。

通過(guò)private CookieStore cookies = new BasicCookieStore();創(chuàng)建cookieStore

在構(gòu)建httpclient時(shí)通過(guò).setDefaultCookieStore(cookies)方法加載。

也可以通過(guò)添加頭域Cookie的方式來(lái)添加Cookie。

通過(guò)一個(gè)布爾類型的標(biāo)識(shí)參數(shù)來(lái)決定是否需要加載cookies。

添加token到請(qǐng)求頭域

token通常在頭域中被添加,當(dāng)需要添加頭域參數(shù)時(shí),通過(guò)布爾類型的標(biāo)識(shí)參數(shù)來(lái)決定是否設(shè)置新的頭域。

通過(guò)setHeader方法完成頭域的添加。

二、頭域添加與參數(shù)傳遞

頭域操作

為了方便頭域信息鍵值對(duì)的傳遞和反復(fù)使用,并且方便方法封裝時(shí)調(diào)用。使用map來(lái)保存頭域信息的鍵值對(duì),并通過(guò)循環(huán)遍歷將頭域headermap中的內(nèi)容添加到http請(qǐng)求中使用。

參數(shù)傳遞

Httpclient方法封裝

為了便于頭域的管理和方法反復(fù)調(diào)用,將存儲(chǔ)頭域的map作為關(guān)鍵字類的成員變量,通過(guò)布爾變量來(lái)控制方法是否需要添加頭域。
并設(shè)計(jì)方法實(shí)現(xiàn)該成員變量map賦值和清空。

同理,cookiestore也通過(guò)類似機(jī)制來(lái)管理是否需要使用cookie。

三、關(guān)鍵字需求封裝

完成httpclientkw類的封裝之后,發(fā)包流程的操作已經(jīng)封裝完成,基本操作已實(shí)現(xiàn),接下來(lái)封裝測(cè)試過(guò)程中的需求,以完成測(cè)試操作。

關(guān)鍵字需求封裝

斷言實(shí)現(xiàn)

將每次發(fā)包方法調(diào)用返回結(jié)果賦值給成員變量response,針對(duì)response進(jìn)行斷言操作。

頭域參數(shù)json格式轉(zhuǎn)換

為便于頭域參數(shù)的管理,將頭域參數(shù)寫(xiě)為json格式,通過(guò)json轉(zhuǎn)換為map,再傳遞給HttpclientKw的addheader方法操作。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot集成多數(shù)據(jù)源解析

    SpringBoot集成多數(shù)據(jù)源解析

    這篇文章主要介紹了SpringBoot集成多數(shù)據(jù)源解析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 解決RestTemplate加@Autowired注入不了的問(wèn)題

    解決RestTemplate加@Autowired注入不了的問(wèn)題

    這篇文章主要介紹了解決RestTemplate加@Autowired注入不了的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2021-08-08
  • Java中的CopyOnWriteArrayList原理詳解

    Java中的CopyOnWriteArrayList原理詳解

    這篇文章主要介紹了Java中的CopyOnWriteArrayList原理詳解,如源碼所示,CopyOnWriteArrayList和ArrayList一樣,都在內(nèi)部維護(hù)了一個(gè)數(shù)組,操作CopyOnWriteArrayList其實(shí)就是在操作內(nèi)部的數(shù)組,需要的朋友可以參考下
    2023-12-12
  • java.util.Collection源碼分析與深度理解

    java.util.Collection源碼分析與深度理解

    這篇文章主要給大家介紹了關(guān)于java.util.Collection的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 簡(jiǎn)單的理解java集合中的HashSet和HashTree幾個(gè)重寫(xiě)方法

    簡(jiǎn)單的理解java集合中的HashSet和HashTree幾個(gè)重寫(xiě)方法

    這篇文章主要介紹了簡(jiǎn)單的理解java集合中的HashSet和HashTree幾個(gè)重寫(xiě)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Netty啟動(dòng)流程服務(wù)端channel初始化源碼分析

    Netty啟動(dòng)流程服務(wù)端channel初始化源碼分析

    這篇文章主要為大家介紹了Netty啟動(dòng)流程服務(wù)端channel初始化源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • javaweb實(shí)戰(zhàn)之商城項(xiàng)目開(kāi)發(fā)(三)

    javaweb實(shí)戰(zhàn)之商城項(xiàng)目開(kāi)發(fā)(三)

    這篇文章主要針對(duì)javaweb商城項(xiàng)目開(kāi)發(fā)進(jìn)行實(shí)戰(zhàn)演習(xí),主要實(shí)現(xiàn)通用的BaseDao.java和使用resultMap映射關(guān)聯(lián)對(duì)象,感興趣的小伙伴們可以參考一下
    2016-02-02
  • HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究

    HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究

    這篇文章主要為大家介紹了HttpClient的DnsResolver自定義DNS解析另一種選擇深入研究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • SpringBoot中的文件上傳與下載詳解

    SpringBoot中的文件上傳與下載詳解

    這篇文章主要介紹了SpringBoot中的文件上傳與下載詳解,springboot是spring家族中的一個(gè)全新框架,用來(lái)簡(jiǎn)化spring程序的創(chuàng)建和開(kāi)發(fā)過(guò)程,本文我們就一起來(lái)看看上傳與下載的操作,需要的朋友可以參考下
    2023-08-08
  • SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼

    SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼

    在實(shí)際開(kāi)發(fā)中,會(huì)出現(xiàn)用戶多次點(diǎn)擊發(fā)送請(qǐng)求,本文主要介紹了SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論