def get_page(self, contextFactory=None, description=None, *args, **kwargs):
if description is None:
description = self.url
scheme, _, _, _ = self.url_parse(self.url)
factory = txwebclient.HTTPClientFactory(self.url, *args, **kwargs)
if scheme == 'https':
from twisted.internet import ssl
if contextFactory is None:
contextFactory = ssl.ClientContextFactory()
if self.use_proxy:
reactor.connectSSL(self.proxy_host, self.proxy_port,
factory, contextFactory)
else:
reactor.connectSSL(self.host, self.port,
factory, contextFactory)
else:
if self.use_proxy:
reactor.connectTCP(self.proxy_host, self.proxy_port, factory)
else:
reactor.connectTCP(self.host, self.port, factory)
if self.return_headers:
return factory.deferred.addCallback(
lambda page: (page, factory.response_headers))
else:
return factory.deferred
评论列表
文章目录