在 HTTP 中,基本认证是允许使用 HTTP 协议的用户在请求时,提供用户名和密码的一种方式。在进行基本认证的过程里,请求的 HTTP 头字段会包含 Authorization 字段: Authorization: Basic <凭证>,该凭证是用户和密码的组和的 base64 编码。碰到这种类型的接口,使用 Java 的 REST Assured 或者 Python 的 Requests 均可解决。
实战练习
Python 版本
- import requests
-
- from requests.auth import HTTPBasicAuth
-
- def test_auth():
- url = "https://httpbin.ceshiren.com/basic-auth/ad/123"
- r = requests.get(url = url,
- auth = HTTPBasicAuth("ad", "123"))
- assert r.json()["user"]=='ad'
Java 版本
通过 given() 方法提供的 auth().basic() 方法完成用户名密码的验证,第一个参数输入用户名,第二个参数输入密码。
- import static io.restassured.RestAssured.*;
-
- public class Requests {
- public static void main(String[] args) {
- given().
- auth().basic("ad", "123").
- when().
- get("https://httpbin.ceshiren.com/basic-auth/ad/123").
- then().statusCode(200).log().all();
- }
- }