twisted some demo

发布时间 2023-04-29 12:28:37作者: AngDH

 

 

from twisted.internet import defer, reactor
from twisted.web.client import getPage


def response(*args, **kwargs):
    print('返回页面内容')


def callback(*args, **kwargs):
    print('执行了一个回调', args)




@defer.inlineCallbacks
def start(url):
    d = getPage(url.encode('utf-8'))
    d.addCallback(response)
    d.addCallback(callback)
    yield d



def stop(*args, **kwargs):
    print('stop')
    reactor.stop()

urls = [
    'http://www.baidu.com',
    'http://www.sina.com',
]

li = []


for url in urls:
    ret = start(url)
    li.append(ret)
print(li)

d = defer.DeferredList(li)
d.addBoth(stop)
reactor.run()