實際登陸中,認證用到的token會變的,不過可以在GIthub設置一個私人token。
如圖,登錄GIthub,然后用戶下面選擇Settings/Developer settings/Personal access tokens,點擊Generate new token,然后隨便輸個描述,勾選user這塊,然后生成token。這個token可以理解為身份令牌。將生成的token保存下來。
import requestsBase_Url = 'https://api.github.com'def build_uri(end_point):return '/'.join([Base_Url, end_point])def oauth():payloda = {'Authorization' : 'token 自己的token'}# 獲取user/email信息response = requests.get(build_uri('user/emails'), headers = payloda )print(response.status_code)print(response.text)print(response.request.headers)oauth()
之前基本認證的時候,打印的請求頭信息可以看到用戶名密碼是存放在Authorization這個字段里的
以Authorization:認證方式 認證數據? 這樣的形式
使用headers參數定制請求頭,需要指向一個dict。在dict中加上Authorization:token 對應的token
headers參數可以用在任意請求方法中,不論是get還是post或是其他
關于用戶和郵箱查詢相關的接口都可以通過這樣的方式來請求。因為私人token只給了這些權限。
?
有一些項目會給注冊后的用戶,生成類似用戶id這樣的token,每次用戶做操作的時候,都會在請求頭中,把對應的token返回給接口,這樣我們在做接口測試的時候,就不需要使用cookie。通過token也能確認是哪個用戶做的操作。