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

使用Python Requests库登录Reddit遇404错误的技术问询

解决Reddit登录请求404的问题
  • 必须更换登录URL,Reddit的表单登录接口不是你用的https://www.reddit.com/login/,正确的提交地址是https://www.reddit.com/post/login(注意要用POST方法)。

  • 用Requests模拟Reddit登录还得注意几个核心点:

    • 先请求登录页面,拿到modhash和会话Cookie,这俩是登录必填的验证参数
    • 表单提交字段除了账号(username)、密码(password),还要带上modhash、dest(登录跳转目标)等隐藏字段
    • 请求头要模拟真实浏览器,比如设置User-Agent,避免被识别为爬虫
  • 简易示例代码:

    import requests
    
    # 初始化会话,维持Cookie
    session = requests.Session()
    session.headers.update({
        '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'
    })
    
    # 先访问登录页获取modhash
    login_page = session.get('https://www.reddit.com/login')
    modhash = session.cookies.get('modhash')
    
    # 构造登录表单数据
    login_payload = {
        'username': '你的账号',
        'password': '你的密码',
        'modhash': modhash,
        'dest': 'https://www.reddit.com/'
    }
    
    # 提交登录请求
    login_response = session.post('https://www.reddit.com/post/login', data=login_payload)
    
    # 验证登录状态
    if login_response.status_code == 200 and '/logout' in login_response.text:
        print('登录成功')
        # 用会话请求需要登录权限的页面
        target_page = session.get('https://www.reddit.com/user/你的用户名/')
        print(target_page.text)
    else:
        print('登录失败,检查参数或账号状态')
    

注意:Reddit反爬机制严格,频繁请求可能触发验证码或账号限制,建议添加请求间隔,必要时处理验证码环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:22:11