擅长:python、mysql、java
<p>我知道你在问pycurl,但我发现它太难用了,而且不太和谐。API很奇怪。在</p>
<p>下面是一个<a href="http://twistedmatrix.com/" rel="nofollow noreferrer">twisted</a>示例:</p>
<pre><code>from twisted.web.client import Agent
from twisted.internet import reactor, defer
def get_headers(response, url):
'''Extract a dict of headers from the response'''
return url, dict(response.headers.getAllRawHeaders())
def got_everything(all_headers):
'''print results and end program'''
print dict(all_headers)
reactor.stop()
agent = Agent(reactor)
urls = (line.strip() for line in open('urls.txt'))
reqs = [agent.request('HEAD', url).addCallback(get_headers, url) for url in urls if url]
defer.gatherResults(reqs).addCallback(got_everything)
reactor.run()
</code></pre>
<p>此示例异步启动所有请求,并收集所有结果。以下是具有3个URL的文件的输出:</p>
^{pr2}$