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

使用Python urllib.request请求Rumble RSS Feed返回403错误求助

Rumble RSS Feed请求403错误解决思路

问题情况

  • 出错代码行:req = urllib.request.Request(url)
  • 核心问题:浏览器能正常打开的Rumble RSS Feed地址,用Python urllib.request请求时返回「403 - authorisation will not help」错误,YouTube等其他平台的RSS Feed请求正常。
  • 请求流程:访问原RSS地址后,Rumble会临时重定向到一个API地址,但这个API地址在Python请求中返回403,而原地址和API地址在浏览器中都能正常访问。
  • 已尝试操作:添加过多组请求头(示例如下),且仅单次请求,排除限流可能,但所有尝试均无效。

已尝试的请求头示例

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate, br',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1',
    'Sec-Fetch-Dest': 'document',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-Site': 'none',
    'Sec-Fetch-User': '?1',
    'Cache-Control': 'max-age=0',
}

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0',
    'Accept': 'application/rss+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate, br',
    'Connection': 'keep-alive',
    'Referer': 'https://www.rumble.com/',
    'Origin': f'https://{parsed_url.netloc}'
}

使用方式:

req = urllib.request.Request(url, headers=headers)

解决思路

  • 1. 完全复刻浏览器请求头:打开浏览器开发者工具(F12),切换到「网络」标签,访问目标RSS Feed,找到对应的请求,复制完整的请求头(包括Cookie、Host、甚至一些不常见的字段),直接粘贴到代码中使用。很多网站会校验Cookie或其他隐性标识,仅模拟几个常用字段不够。
  • 2. 手动处理重定向:urllib的自动重定向可能会丢失部分请求头信息。可以先请求原RSS地址,获取重定向后的API地址,再单独对API地址发起请求,同时确保携带浏览器访问该API时的全部请求头。
  • 3. 换用requests库尝试:urllib的重定向和头信息传递逻辑相对死板,改用requests库会更灵活。示例代码:
import requests

# 替换为抓包得到的完整请求头
full_headers = {
    # 这里粘贴浏览器请求的所有头字段
}
response = requests.get(target_url, headers=full_headers, allow_redirects=True)
print(response.status_code)
print(response.text)
  • 4. 重点检查Cookie字段:浏览器访问时会自动携带网站设置的Cookie,而Python请求默认没有这部分内容,这是导致403的常见原因。抓包时务必把Cookie字段完整复制到请求头里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:35:07