blob: 333bcb3f92861cede271f47773ae3d01db0ba814 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
from twisted.internet import reactor
from twisted.internet.defer import Deferred, DeferredList
from twisted.internet.protocol import Protocol
from twisted.web.client import Agent, HTTPConnectionPool
class IgnoreBody(Protocol):
def __init__(self, deferred):
self.deferred = deferred
def dataReceived(self, bytes):
pass
def connectionLost(self, reason):
self.deferred.callback(None)
def cbRequest(response):
print 'Response code:', response.code
finished = Deferred()
response.deliverBody(IgnoreBody(finished))
return finished
pool = HTTPConnectionPool(reactor)
agent = Agent(reactor, pool=pool)
def requestGet(url):
d = agent.request('GET', url)
d.addCallback(cbRequest)
return d
# Two requests to the same host:
d = requestGet('http://google.com/titi').addCallback(
lambda ign: requestGet("http://google.com/tata"))
def cbShutdown(ignored):
reactor.stop()
d.addCallback(cbShutdown)
reactor.run()
|