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

通过Curl及Python脚本登录MediaWiki遇授权失败与SSL错误

MediaWiki 登录问题排查与解决

Curl 登录未授权问题

核心原因

常规Curl请求未正确处理MediaWiki登录必需的CSRF令牌和完整会话Cookie,而浏览器复制的请求自动包含了这些关键验证信息,因此仅能短暂生效。

修复步骤

  1. 获取登录页面的CSRF令牌与初始Cookie
    先请求登录页面,保存Cookie并提取wpLoginToken:
    curl -c cookies.txt https://你的Wiki域名/index.php?title=Special:UserLogin > login_page.html
    # 从页面源码提取令牌(根据实际页面结构调整命令)
    LOGIN_TOKEN=$(grep -o 'name="wpLoginToken" value="[^"]*"' login_page.html | cut -d '"' -f 4)
    
  2. 携带令牌与Cookie发起登录请求
    使用提取到的令牌,结合Cookie发送POST请求完成登录,同时更新会话Cookie:
    curl -b cookies.txt -c cookies.txt -X POST https://你的Wiki域名/index.php?title=Special:UserLogin \
      -d "wpName=你的用户名" \
      -d "wpPassword=你的密码" \
      -d "wpLoginToken=$LOGIN_TOKEN" \
      -d "wpRemember=1" \
      -d "wpLoginAttempt=登录"
    
  3. 验证登录状态
    请求需要权限的页面时,带上保存的Cookie:
    curl -b cookies.txt https://你的Wiki域名/index.php?title=需权限访问的页面
    
    额外说明:若Wiki开启了会话IP绑定等安全机制,手动Curl的会话可能快速失效,这种情况需检查Wiki的远程登录权限设置。

Python 官方脚本SSL证书验证失败

核心原因

脚本默认启用严格的SSL证书验证,若Wiki使用自签名证书、证书链不完整,或系统CA证书库缺失对应根证书,就会触发验证失败。

修复方案

  1. 临时跳过验证(仅测试环境)
    在脚本的requests请求中添加verify=False参数:
    import requests
    
    session = requests.Session()
    # 获取登录页面时跳过验证
    login_page = session.get("https://你的Wiki域名/index.php?title=Special:UserLogin", verify=False)
    # 登录请求同样添加verify=False
    login_response = session.post(
        "https://你的Wiki域名/index.php?title=Special:UserLogin",
        data={
            "wpName": "你的用户名",
            "wpPassword": "你的密码",
            "wpLoginToken": 从登录页面提取的令牌,
            "wpLoginAttempt": "登录"
        },
        verify=False
    )
    
    注意:生产环境禁用此方法,存在安全风险。
  2. 指定自定义证书(生产环境推荐)
    下载Wiki的SSL证书文件(如wiki-cert.pem),在请求中指定证书路径:
    login_page = session.get("https://你的Wiki域名/index.php?title=Special:UserLogin", verify="/path/to/wiki-cert.pem")
    
  3. 更新系统CA证书库
    若为系统CA证书缺失导致,更新系统证书包:
    • Ubuntu/Debian:sudo apt update && sudo apt install --reinstall ca-certificates
    • CentOS/RHEL:sudo yum update ca-certificates

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:57:28