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

使用Python Requests添加自定义请求头后出现重定向循环的原因排查

问题:添加自定义请求头后调用Google接口出现重定向循环错误

直接调用requests.get('https://google.com')可正常运行,但添加自定义请求头后触发requests.exceptions.TooManyRedirects: Exceeded 30 redirects.错误,相关代码如下:

import requests
s = requests.Session()
s.headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en", 
    "Host": "google.com", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36", 
    "X-Amzn-Trace-Id": "Root=1-63261f60-6a62c4934cad2e126b4bdd8c"
  }
s.get('https://google.com')

问题原因分析

  • 硬编码Host头引发循环:手动设置Host: google.com后,Google服务器返回的重定向目标(比如www.google.com或地区专属域名)会被Session忽略,每次请求依然带着固定的google.com Host头,服务器判定请求不符合要求,持续返回重定向,形成循环。
  • 无关请求头干扰:X-Amzn-Trace-Id是AWS的追踪标识,不属于浏览器正常请求头,Google服务器识别后可能触发额外验证逻辑,加重重定向问题。
  • 覆盖默认请求头丢失适配逻辑:直接给s.headers赋值会覆盖Requests Session默认的请求头配置,默认情况下Session会在重定向时自动调整头信息,自定义头破坏了这个机制,导致每次重定向都重复错误的头参数。

解决建议

  1. 移除手动设置的Host头,让Requests根据请求URL自动生成正确的Host值,重定向时会自动更新。
  2. 删除无关的X-Amzn-Trace-Id头,保持请求头贴近真实浏览器的正常配置。
  3. 使用headers.update()方法添加自定义头,保留Session默认的必要头信息:
import requests
s = requests.Session()
custom_headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
}
s.headers.update(custom_headers)
s.get('https://google.com')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:10:46