Asynchronous HTTP client

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sun Mar 7 09:57:07 EST 2010


On 02:40 pm, ping.nsr.yeh at gmail.com wrote:
>2010/3/7 <exarkun at twistedmatrix.com>
>>On 06:53 am, ping.nsr.yeh at gmail.com wrote:
>>>Hi,
>>>
>>>I'm trying to find a way to create an asynchronous HTTP client so I
>>>can get responses from web servers in a way like
>>>
>>>  async_http_open('http://example.com/', callback_func)
>>>  # immediately continues, and callback_func is called with response
>>>as arg when it is ready
>>>
>>>It seems twisted can do it, but I hesitate to bring in such a big
>>>package as a dependency because my client should be light. Asyncore
>>>and asynchat are lighter but they don't speak HTTP. The asynchttp
>>>project on sourceforge is a fusion between asynchat and httplib, but
>>>it hasn't been updated since 2001 and is seriously out of sync with
>>>httplib.
>>
>>Why should it be "light"?  In what way would using Twisted cause 
>>problems
>>for you?
>>
>>Jean-Paul
>
>I'm writing an open source python client for a web service. The client 
>may
>be used in all kinds of environments - Linux, Mac OS X, Windows, web
>hosting, etc by others. It is not impossible to have twisted as a
>dependency, but that makes deployment a larger job than simply 
>uploading a
>Python file.

Twisted is packaged for many Linux distributions (perhaps most of them). 
Many web hosts provide it.  It's also shipped with OS X.

Windows may be an issue, but note that there's a binary Windows 
installer (as of 10.0, an MSI, so installation can be easily automated).
>I'm willing to use twisted, but I'd like to explore lighter 
>alternatives
>first.

Jean-Paul



More information about the Python-list mailing list