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

使用Python requests配置代理访问网页时报403错误问题求助

问题原因及解决方案

核心问题

  1. 使用本地解析的IP直接发起请求:你通过本地socket解析拿到的亚马逊IP,是你本地网络对应的CDN节点,用代理访问该IP时,代理所在区域的亚马逊WAF会直接拦截非本地节点的IP访问请求,且正常用户不会通过IP直接访问站点,这一行为本身就会触发反爬规则。
  2. 代理配置缺失HTTPS规则:亚马逊站点默认会将HTTP请求跳转至HTTPS,你仅配置了HTTP协议的代理,HTTPS请求会直接走本地网络,没有走代理,触发区域访问限制。
  3. 请求头配置不全且UA版本过旧:你使用的Chrome 92是2021年的老旧版本,反爬系统很容易识别为爬虫请求,同时缺少Accept、Accept-Encoding等常规浏览器头字段,进一步提升了被拦截的概率。

修正后的代码

import requests

URL = "https://www.amazon.com"
HEADER = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8",
    "Accept-Encoding": "gzip, deflate, br",
    "Accept-Language": "en-US,en;q=0.9,fa-IR;q=0.8,fa;q=0.7",
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
    "Upgrade-Insecure-Requests": "1"
}
PROXY = {
    "http": "http://159.8.114.37:8123",
    "https": "http://159.8.114.37:8123"
}

response = requests.get(URL, headers=HEADER, proxies=PROXY, verify=False)
response.raise_for_status()

额外注意事项

  • 不要手动指定Host头,requests会自动根据请求URL生成正确的Host值,手动填写反而容易出现格式错误。
  • 如果仍被拦截,可以尝试添加Cookie字段,先在浏览器访问一次亚马逊拿到有效Cookie后填入请求头中。
  • 控制请求频率,短时间内多次高频请求也会触发WAF的临时封禁规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:36:03