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

Python3如何爬取带弹出式登录认证的网页,多种认证方式失效求方案

可行实现方案

问题排查核心点

  • 你所用的目标站点弹窗认证为标准HTTP Basic Auth,并非NTLM认证,误用ntlm-auth库会导致认证无效
  • 你原有代码中请求的是HTTP协议的www2.deltron.com.pe子域名资源,而认证生效范围为HTTPS协议的全站,协议与域名不匹配会导致认证信息不被识别
  • Basic Auth直接写入URL的方式在部分高版本curl/requests实现中会被默认拦截,不推荐使用

可运行代码示例

import requests as rq

username = '替换为你的实际用户名'
password = '替换为你的实际密码'    

url_prod = 'https://www2.deltron.com.pe/modulos/productos/items/producto.php?item_number=NBHP2B125LA'

sess = rq.Session()
# 直接传入Basic Auth元组即可,无需额外第三方库
resp = sess.get(url_prod, auth=(username, password))

print(resp.status_code)
print(resp.text)

额外排查点

如果上述代码运行后仍然返回未认证页面,可按以下顺序排查:

  • 确认你的账号密码在浏览器弹窗中登录可以正常访问对应资源
  • 检查网络环境是否存在代理、VPN拦截认证请求头
  • 在请求头中添加浏览器UA标识,避免站点拦截爬虫请求:
    示例添加UA的代码:
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
    }
    resp = sess.get(url_prod, auth=(username, password), headers=headers)
    

内容的提问来源于stack exchange,提问作者Guillermo J. Borjas Córdova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:06:02