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

如何用Python Requests获取Auth0认证的state与auth0Client参数

用Python Requests捕获Auth0跳转中的state和auth0Client参数

要捕获Auth0认证流程中跳转请求的state和auth0Client参数,不需要执行JavaScript,直接通过Requests追踪重定向即可,步骤如下:

1. 发送初始请求并禁止自动跳转

默认情况下Requests会自动跟随重定向,我们先关闭这个功能,获取服务器返回的跳转目标URL:

import requests
import urllib.parse

# 发送初始请求,禁止自动跳转
response = requests.get("https://apps.kbnfinans.kommunalbanken.no/access/", allow_redirects=False)

2. 提取跳转URL并解析参数

服务器返回的Location响应头中包含Auth0授权页面的完整URL,我们解析这个URL的查询参数:

# 获取跳转目标URL
redirect_url = response.headers.get("Location")
if not redirect_url:
    # 若没有Location头,说明是前端JS跳转,需用浏览器自动化工具(如Selenium)
    print("未检测到服务器端重定向,可能需要执行JavaScript")
else:
    # 解析URL中的查询参数
    parsed_query = urllib.parse.parse_qs(urllib.parse.urlparse(redirect_url).query)
    # 提取目标参数
    state = parsed_query.get("state", [""])[0]
    auth0_client = parsed_query.get("auth0Client", [""])[0]
    
    print(f"state参数: {state}")
    print(f"auth0Client参数: {auth0_client}")

注意事项

  • 如果初始请求返回200状态码且无Location头,说明跳转是由前端JavaScript触发的,此时Requests无法直接获取跳转URL,需要使用Selenium、Playwright等支持执行JS的浏览器自动化工具。
  • 部分网站会校验请求头(如User-Agent),如果请求被拦截,可添加模拟浏览器的请求头: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"}

内容的提问来源于stack exchange,提问作者Erik Nilsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:35:26