I've got some code that generates loss reports for EVE Online. It uses the EVE-KILL API and Python's urllib2 library. Near the end of October 2015, I noticed that my calls to the API were returning a
403: Forbidden error from the server. I didn't realize it at the time, but EVE-KILL uses Cloudflare, which is pretty notorious for the lengths they'll go through to block bots.
Yes, I am aware of the irony of blocking bots from an API designed to service bots.
So far, I've worked around the problem by adding a
User-Agent header to the request that properly identifies the source:
Although this has gotten things working again, I have a suspicion I'll be messing with this again in the future.