出现这种情况的原因是因为Cloudflare的防护机制检测到了请求中的一些特定标志,例如User-Agent、Referer等,并认为这些请求可能是恶意的,因此会拒绝该请求。

要解决这个问题,你可以尝试以下方法:

  1. 修改User-Agent和Referer

在你的请求头中添加一个合法的User-Agent和Referer可以让Cloudflare认为这个请求是合法的。例如:

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'Referer': 'https://www.google.com/'
}
response = requests.get(url, headers=headers)
  1. 使用代理IP

通过使用代理IP,你的请求将会通过不同的IP地址进行发送,从而可以避免被Cloudflare识别并阻止。你可以使用一些付费的代理服务,或者自己搭建代理服务器。

  1. 禁用Cloudflare防护

如果你有权限,可以在Cloudflare控制面板中禁用某个网站的防护机制。但是这种方法并不推荐,因为这会降低你的网站的安全性。

  1. 使用其他工具

如果以上方法都无效,你可以考虑使用其他工具,例如Selenium等。这些工具可以模拟用户的行为,从而避免被Cloudflare识别并阻止

如何解决cloudflare防护导致python requests模块访问网址出现403的情况

原文地址: https://www.cveoy.top/t/topic/fJgO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录