【分享】使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

在後臺在開發、調試接口時,經常會遇到須要登錄才能請求的接口。html

好比:獲取登錄用戶的收藏列表,此時,咱們就須要模擬登錄狀態進行接口調試了。如圖:前端

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

今天,咱們講解利用ApiPost的環境變量,解決這種須要先登陸再請求的接口依賴狀況。後端

ApiPost簡介:

ApiPost是一個支持團隊協做,並可直接生成文檔的API調試、管理工具。它支持模擬POST、GET、PUT等常見請求,是後臺接口開發者或前端、接口測試人員不可多得的工具 。api

下載地址:https://www.apipost.cn/download.html服務器

ApiPost提供了2種方案:cookie

方案I、開啓全局cookie

apipost提供了開啓全局cookie的功能。開啓路徑以下:工具

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

開啓後,咱們請求登錄接口後,後續接口都會共享「已登錄」的狀態,即共享了登錄接口返回的cookie。post

以下所示:測試

第一步:請求登錄接口spa

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

第二步:訪問其餘接口,則都處於了登錄狀態

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

[](https://www.apipost.cn/#downl...

方案II、利用環境變量,先請求登錄接口,再請求後續接口

這種方案是針對關閉了全局cookie功能的狀況。

一、先請求登錄接口:

爲了處於登錄態,須要先請求登錄接口,此舉目的是爲了模擬用戶的登錄行爲,獲取須要的登錄參數(這裏是Cookie)。

將登錄接口返回的PHPSESSID(這個是SessionID,PHPSESSID是針對PHP做爲後端接口的SessionID變量名,其餘語言的變量名可能不一樣)設爲環境變量。

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

二、接着返回收藏接口,進到header選項,參數值選擇cookie,參數值輸入: PHPSESSID={{login_var}}。

此舉是爲了利用登錄接口返回的Cookie僞造請求的PHPSESSID。

如圖:

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

或者你也能夠定義個全局header,這樣就不用每一個接口都設置一遍了:

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

使用ApiPost測試接口時須要先登陸的接口怎麼辦(基於Cookie)?

三、接下來send,就能夠看到個人收藏列表了。

原理:

利用ApiPost發送Cookie,使服務器識別已登陸用戶的Cookie。

相關推薦:ApiPost的變量的定義和使用

相關文章
相關標籤/搜索