“本网站的所有者已经根据您的浏览器的签名禁止您访问”;. .在python程序中的url请求上

"The owner of this website has banned your access based on your browser's signature" ... on a url request in a python program

本文关键字:python 访问 程序 请求 url 禁止 所有者 网站 浏览器      更新时间:2023-09-26

当做一个简单的请求,在python (Entought Canopy准确地说),与urllib2,服务器拒绝我访问:

data = urllib.urlopen(an url i cannot post because of reputation, params)
print data.read()
错误:

Access denied | play.pokemonshowdown.com used CloudFlare to restrict access
The owner of this website (play.pokemonshowdown.com) has banned your access based on your browser's signature (14e894f5bf8d0920-ua48).

这显然是一个普遍的问题,所以我在网上找到了一些线索。

https://support.cloudflare.com/hc/en us/articles/200171806错误- 1010 -这个网站的所有者——————禁止访问- - - - - - -基于你的浏览器- s签名:

防火墙、代理、浏览器插件或扩展可能抛出误报。尝试使用其他浏览器访问该站点,作为访问该站点的另一种方式。

https://support.cloudflare.com/hc/en-us/articles/200170176-Why-am-I-getting-a-Checking-your-Browser-before-accessing-message-before-entering-a-site-on-CloudFlare-:

当网站所有者打开名为"我受到攻击"的DDoS保护和缓解工具时,会出现"在访问(insertsite.com)之前检查浏览器"。该页面通常会在5秒后消失并授予您访问该站点的权限。

注意:您需要在浏览器中同时打开JavaScript和Cookies才能通过检查。检查到位,以确保您不是僵尸网络的一部分。"

答案很清楚,除了一件事…*我没有使用任何浏览器!该请求是通过python程序完成的,带有urllib.urlopen请求…

这是否意味着我应该有,像,cookie和JavaScript打开在…Enthought树冠吗?这个句子能成句吗?当试图通过编程控制台的基本请求访问站点时,我几乎不了解这个浏览器特定的检查激活。所以我才向你求助。

为什么会发生?如何绕过它?

这个站点"检查"的不是你的浏览器,而是"用户代理"——你的客户端程序(浏览器、Python脚本或其他)最终作为请求头发送的字符串。您可以指定另一个用户代理,参见在urllib2.urlopen上更改用户代理。

我只是从我的家庭IP看到它与Safari,看着一个网站我的作者!在执行登录cloudflare网站并点击刷新后。可能我的移动互联网太慢了(在新西兰),javascript没有及时加载?我有DDOS保护,并"受到攻击"。使AFAIK。