def fetch(path, url, state):
agent = OnionRoutedAgent(reactor, path=path, state=state)
request = agent.request("GET", url)
reactor.callLater(10, request.cancel)
request.addCallback(readBody)
def parse_ip(body):
exit_ip = path[-1].ip
try:
checked_ip = re.search("<strong>(.*)</strong>", body).group(1)
return exit_ip, checked_ip
except AttributeError:
return exit_ip, None
request.addCallback(parse_ip)
def err(failure):
failure.trap(defer.CancelledError, ResponseNeverReceived,
ResponseFailed, HostUnreachable, TTLExpired)
log.err(failure)
request.addErrback(err)
return request
评论列表
文章目录