When doing a simple request, on python (Entought Canopy to be precise), with urllib2, the server denies me access :
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).
This is a apparently a generic issue, so I found several clues on the web.
A firewall, proxy, a browser plugin or extension may be throwing a false positive. Try visiting the site with a different browser as an alternative way of accessing the site.
The “Checking your browser before accessing (insertsite.com) occurs when the site owner has turned on a DDoS protection and mitigation tool called “I’m Under Attack”. The page will generally go away and grant you access to the site after 5 seconds.
The answers are rather clear, except for this one thing … *I’m not using any browser! The request is done trough a python program, with an
urllib.urlopen request …
Why does it happen? How to bypass it?
What this site is “checking” is not your browser, it’s the “user agent” – a string your client program (browser, Python script or whatever) eventually sends as a request header. You can specify another user agent, cf Changing user agent on urllib2.urlopen.