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

使用requests库爬取含隐藏参数的登录保护网站遇重定向问题求助

解决登录后仍被重定向到登录页的问题

嘿,你遇到的这个问题太典型啦!很多网站的登录表单都会藏着一些隐藏参数(比如CSRF令牌),用来验证请求的合法性——你只传账号密码的话,服务器根本不认,自然会把你打回登录页。下面给你一步步解决的方案:

核心思路

要成功登录,你得先从登录页面获取那些隐藏的参数,把它们和账号密码一起放进请求payload里,再发送登录请求。另外,还要模拟浏览器的请求头,避免被反爬机制拦截。

修改后的完整代码

首先如果没装BeautifulSoup的话,先安装:

pip install beautifulsoup4

然后是代码:

import requests
from bs4 import BeautifulSoup

# 模拟浏览器的请求头,避免被识别为爬虫
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}

# 基础的账号密码payload
payloads = {"login": "pythonusername3", "password": "pythonpassword3"}

with requests.Session() as session:
    # 第一步:先访问登录页面,获取隐藏参数和会话Cookie
    login_page_response = session.get('https://member.expireddomains.net/login/', headers=headers)
    soup = BeautifulSoup(login_page_response.text, 'html.parser')
    
    # 提取登录表单里所有的隐藏输入字段
    hidden_fields = soup.find('form').find_all('input', type='hidden')
    for field in hidden_fields:
        # 把隐藏参数添加到payload中
        payloads[field['name']] = field['value']
    
    # 第二步:发送完整的登录请求
    login_response = session.post(
        'https://member.expireddomains.net/login/',
        data=payloads,
        headers=headers
    )
    
    # 可选:检查登录是否成功(状态码、跳转地址)
    print(f"登录响应状态码: {login_response.status_code}")
    print(f"登录后跳转地址: {login_response.url}")
    
    # 第三步:访问目标页面
    target_page_response = session.get(
        "https://member.expireddomains.net/domains/pendingdelete/?o=statustld_registered&r=d",
        headers=headers
    )
    print(target_page_response.text)

关键步骤解释

  • 获取隐藏参数:先发送GET请求到登录页面,服务器会返回包含隐藏参数的表单,同时设置会话Cookie。用BeautifulSoup解析页面,把所有<input type="hidden">的字段都提取出来,加到payload里——这些参数是服务器生成的,每次请求可能不一样,必须实时获取。
  • 模拟浏览器请求:添加User-Agent头,让网站认为你是真实用户在访问,而不是爬虫。
  • 持续会话:用requests.Session()保持会话,它会自动保存登录后的Cookie,这样后续访问目标页面时就能带上登录状态。

额外排查技巧

如果还是不行,你可以打开浏览器的开发者工具(F12),切换到Network标签,手动登录一次,查看登录请求的Form Data,看看除了账号密码之外还有哪些参数,确保你的payload里都包含了这些参数。另外,有些网站可能还会验证Referer头,你可以把它也加到headers里。

内容的提问来源于stack exchange,提问作者Nazim Kerimbekov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:07:58