開發中遇到了basic auth來認證的案例,這裡總結一下:
Basic Auth簡單點說明就是每次請求API時都提供使用者的username和password。【base64encode(username+":"+password)】
優點:
1、使用非常簡單,
2、開發和調試工作簡單,
缺點:
1、安全性低,每次都需要傳遞使用者名和密碼,使用者名和密碼很大程度上存在被監聽盜取的可能;
2、同時應用本地還需要儲存使用者名和密碼,在應用本身的安全性來說,也存在很大問題;
第一、base64---->案例
import requests, base64
usrPass = "userid:password"
b64Val = base64.b64encode(usrPass)
post_data=[]
api_URL="https://www.baidu.com"
r=requests.post(api_URL, headers={"Authorization": "Basic %s" % b64Val},data=post_data)
第二、requests 的HTTPBasicAuth---->案例
import requests
from requests.auth import HTTPBasicAuth
url = 'https://www.baidu.com/test/api'
resp = requests.get(url,auth=HTTPBasicAuth('user','password'))
或
resp = requests.get(url,auth=('user','password'))
用Postman請求試一下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yM2IjMyEDO4QmNxU2NmFWYyYzX1ATOycTM2EzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)