Python:
使用基本认证发送 HTTP 请求
如何:
import requests
from requests.auth import HTTPBasicAuth
# 替换成你的API端点
url = 'https://api.example.com/data'
# 替换成实际的用户名和密码
username = 'your_username'
password = 'your_password'
response = requests.get(url, auth=HTTPBasicAuth(username, password))
print(response.status_code)
print(response.text)
现在运行代码,你应该看到类似这样的输出:
200
{"example_key": "example_value"}
深入了解
HTTP基本认证是一种验证HTTP用户身份的方法,由于简单,它早在HTTP/1.0就被引入了。遗憾的是,基本认证不加密密码,相对不够安全,所以HTTPS越来越多地被用来加强安全性。
替代验证方式包括OAuth、API密钥或者像JWT(JSON Web Tokens)这样的更复杂的认证机制。
实现时,‘requests’库做了大量工作。HTTPBasicAuth模块把用户名和密码转化为HTTP头信息(一个Base64编码的字符串),让服务器能够验证身份。
参见
- Python
requests
库文档:https://docs.python-requests.org/en/master/ - HTTP基本认证介绍:https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication
- 安全HTTP认证实践:https://owasp.org/www-project-cheat-sheets/cheatsheets/Authentication_Cheat_Sheet.html