如何使用Python通过HTTP Digest认证访问目标网站?
使用Python访问带HTTP Digest认证的网站
嘿,刚好处理过类似需求!用Python的requests库来搞定这个超省心,它原生就支持HTTP Digest认证,完全不用你手动去构造那些复杂的Authorization头信息。
直接上可运行的代码示例:
import requests from requests.auth import HTTPDigestAuth # 替换成你的实际信息 username = "user" password = "your_real_password" target_url = "http://your-target-site.com/fileadmin/teaching/2017/WS/adip/exercises/adip-uebung-00-.pdf" # 发送带Digest认证的请求 response = requests.get(target_url, auth=HTTPDigestAuth(username, password)) # 处理响应结果 if response.status_code == 200: # 因为目标是PDF文件,这里直接保存到本地 with open("downloaded_exercise.pdf", "wb") as f: f.write(response.content) print("文件下载成功啦!") else: print(f"请求失败,状态码:{response.status_code}")
几个关键点说明:
HTTPDigestAuth会自动帮你处理Digest认证的全流程,包括生成包含nonce、realm等参数的正确Authorization头,不用你手动拼接浏览器里看到的那些复杂内容。- 如果需要发送POST等其他类型请求,只需要把
requests.get换成对应的方法(比如requests.post),auth参数保持不变即可。 - 要是还没安装
requests库,先跑这个命令安装:
pip install requests
内容的提问来源于stack exchange,提问作者user9491841




