You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本如何通过代码处理网页浏览器登录弹窗实现登录?

解决HTTP基本认证的Python登录问题

你遇到的不是普通的表单POST登录,而是HTTP基本认证(Basic Authentication),这就是为什么抓不到POST请求的原因:这种认证方式不需要提交表单,而是通过HTTP请求头传递凭据。

核心原理

当你访问需要认证的页面时,服务器会返回401 Unauthorized响应,同时在响应头里带上WWW-Authenticate: Basic realm="xxx"字段,触发浏览器弹出自带的登录弹窗。登录成功后,后续请求会自动带上包含认证信息的Authorization头,所以你只会看到登录后的GET请求。

Python实现方法

用requests库可以轻松处理这种认证:

  • 方法一:直接使用auth参数(推荐,自动处理编码)
import requests

url = "你登录后访问的目标URL"
username = "你的用户名"
password = "你的密码"

response = requests.get(url, auth=(username, password))
# 检查是否登录成功
if response.status_code == 200:
    print("登录成功")
else:
    print("认证失败")
  • 方法二:手动构造Authorization请求头
    先把用户名:密码做Base64编码,再拼到请求头里:
import requests
import base64

username = "你的用户名"
password = "你的密码"
auth_str = f"{username}:{password}"
auth_bytes = auth_str.encode('utf-8')
auth_base64 = base64.b64encode(auth_bytes).decode('utf-8')

headers = {
    "Authorization": f"Basic {auth_base64}"
}

response = requests.get("目标URL", headers=headers)

验证方式

你可以在Chrome的Network面板里,找到触发弹窗的第一个请求,查看它的响应头,如果能看到WWW-Authenticate: Basic字段,就可以确认是这种认证方式。

内容的提问来源于stack exchange,提问作者M. K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 16:01:11