If not just twisted.web.client.  HTTP doesn't seem like a protocol for which we need to pull in an external, synchronous library.