【发布时间】:2021-12-02 03:23:45
【问题描述】:
尝试从我的 Python 应用程序中访问网站时,我收到以下 403 Forbidden 响应。据我所知,CloudFlare 并没有用任何 Captcha 挑战我,就像许多其他人的类似问题一样,它要求我启用 cookie。如果我通过 CURL 或任何浏览器尝试,该网站返回 200 OK,所以这不是 IP 限制,它只是我不喜欢的 Python 请求。我尝试了用户代理的各种组合但无济于事,在目标 URL 之前尝试了 http、https 和什么都没有,并且我完全模仿了浏览器网络检查器在成功的常规浏览器 GET 的请求标头中显示的内容。
这是 http 响应中的错误:(状态 403)
请启用 cookie。 错误 1020 射线 ID:69c89e49895c40d7 • 2021-10-11 14:01:04 UTC 拒绝访问 发生了什么? 本网站使用安全服务来保护自己免受在线攻击。 Cloudflare Ray ID:69c89e49895c40d7 • 您的 IP:x.x.x.x • Cloudflare 的性能和安全性 请启用 cookie。
这是我的 Python: ''' r = requests.get(“www.oddschecker.com”, 标头={ "用户代理": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0", "接受": "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8", "接受语言": "en-GB,en;q=0.5", “方法”:“获取”, “内容类型”:“文本/纯文本”, “接受编码”:“gzip,放气,br”, “连接”:“保持活动”, “方案”:“https”, “升级不安全请求”:“1”, “缓存控制”:“最大年龄=0”, "主机": "www.oddschecker.com", “TE”:“拖车” },)
'''
问题:
-
CloudFlare 如何仅通过 Python 请求知道我需要启用 cookie 或者我不是普通浏览器?我发送请求并立即返回 403。该请求与我使用浏览器完全相同。就好像网络检查器上有一些流量在我的请求和 403 之间没有显示。我也使用了 Fiddler,它只是显示相同:GET 请求,立即 403 响应。
-
如何在 Python 中启用 cookie?
【问题讨论】:
标签: python cookies cloudflare http-status-code-403