Working Around EVE-KILL + Cloudflare Block

by Scott Hebert

Cloudflare logo -leftI'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:

request.add_header('User-Agent', 'com.hynjoku.loss_report')

Although this has gotten things working again, I have a suspicion I'll be messing with this again in the future.