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

HTTPS请求在Postman运行正常但Python requests脚本返回403错误

403错误排查解决方案

1 优先校验User-Agent错误

你当前代码里的User-Agent末尾多了多余字符A,正确的Chrome96版本UA为:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
修正后优先测试是否可正常请求。

2 补全完整请求头

Postman发起请求时会自动携带多个默认请求头,仅传User-Agent和Accept无法匹配浏览器请求特征,需将Postman导出的所有请求头全部补全到headers参数中,常见缺失的必要头包括:

  • Accept-Language
  • Accept-Encoding
  • Connection
  • Upgrade-Insecure-Requests

3 解决TLS指纹校验问题

leboncoin接入了Cloudflare反爬防护,会校验客户端TLS JA3指纹,requests库的默认指纹特征会被识别为爬虫,即使头信息完全匹配也会返回403。可使用支持模拟浏览器TLS指纹的curl_cffi库替代requests,使用方式如下:

安装依赖

pip install curl_cffi

示例代码

from curl_cffi import requests

url = "https://www.leboncoin.fr/recherche?text=test"

headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 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',
  'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
  'Accept-Encoding': 'gzip, deflate, br',
  'Connection': 'keep-alive',
  'Upgrade-Insecure-Requests': '1'
}

response = requests.get(url, headers=headers, impersonate="chrome96")
print(response.status_code)
print(response.text)

4 校验Cookie依赖

部分场景下网站要求请求携带首次访问首页下发的Cookie,可先发起一次首页请求,将返回的Cookie带入后续搜索请求中再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:54:05