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

使用Python-requests请求Twitter官网与Burp/Curl响应不一致的问题咨询

解决Python requests访问Twitter返回200错误页面的问题

问题分析

你遇到的差异源于Twitter的反爬机制对requests的默认请求特征做了拦截,而Burp/Curl的请求特征更接近浏览器或未被标记为爬虫。即使添加了请求头,requests仍可能因以下原因被拦截:

  • 请求头中的转义字符错误(比如你用了"而非实际的双引号)
  • requests默认自动处理重定向,可能跳过了关键的302跳转流程
  • 缺少会话级Cookie或其他隐式请求参数

解决方案

1. 修正请求头的引号格式

你的Sec-Ch-Ua等字段使用了HTML转义的",导致请求头内容不符合浏览器发送的格式。直接使用双引号(在Python字符串中用单引号包裹):

import requests

url = "https://twitter.com/"

headers = {
    'Host': 'twitter.com',
    'Sec-Ch-Ua': '" Not A;Brand";v="99", "Chromium";v="104"',
    'Sec-Ch-Ua-Mobile': '?0',
    'Sec-Ch-Ua-Platform': '"Windows"',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36',
    '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',
    'Sec-Fetch-Site': 'none',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-User': '?1',
    'Sec-Fetch-Dest': 'document',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'en-US,en;q=0.9'
}

2. 关闭自动重定向,查看原始响应

requests默认自动跟随重定向(allow_redirects=True),关闭该选项可确认是否能收到原始的302响应:

response = requests.get(url=url, headers=headers, allow_redirects=False)
print(response.status_code)
print(response.text)

3. 使用Session保持会话

Twitter可能在首次请求时设置必要Cookie,requests.Session()可自动维护Cookie会话,模拟浏览器访问流程:

session = requests.Session()
session.headers.update(headers)
response = session.get(url, allow_redirects=False)
print(response.status_code)
print(response.headers.get('Location'))

4. 对比请求的完整特征

查看requests实际发送的请求头,和Burp/Curl的请求做完整对比,找出差异:

print(response.request.headers)

额外提示

若以上方法无效,可补充更多浏览器级请求细节:

  • 添加Connection: keep-alive请求头
  • 从Burp中复制初始Cookie到请求头

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:42:32