Python twisted.internet.error.DNSLookupError() Examples
The following are 30
code examples of twisted.internet.error.DNSLookupError().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.internet.error
, or try the search function
.
Example #1
Source File: aiqiyi_spider.py From video_url_crawler_demo with GNU General Public License v3.0 | 6 votes |
def errback_httpbin(self, failure): # log all failures self.logger.error(repr(failure)) # in case you want to do something special for some errors, # you may need the failure's type: if failure.check(HttpError): # these exceptions come from HttpError spider middleware # you can get the non-200 response response = failure.value.response self.logger.error('HttpError on %s', response.url) elif failure.check(DNSLookupError): # this is the original request request = failure.request self.logger.error('DNSLookupError on %s', request.url) elif failure.check(TimeoutError, TCPTimedOutError): request = failure.request self.logger.error('TimeoutError on %s', request.url)
Example #2
Source File: srvconnect.py From learn_python3_spider with MIT License | 6 votes |
def connect(self): """Start connection to remote server.""" self.factory.doStart() self.factory.startedConnecting(self) if not self.servers: if self.domain is None: self.connectionFailed(error.DNSLookupError("Domain is not defined.")) return d = client.lookupService('_%s._%s.%s' % (nativeString(self.service), nativeString(self.protocol), self.domain)) d.addCallbacks(self._cbGotServers, self._ebGotServers) d.addCallback(lambda x, self=self: self._reallyConnect()) if self._defaultPort: d.addErrback(self._ebServiceUnknown) d.addErrback(self.connectionFailed) elif self.connector is None: self._reallyConnect() else: self.connector.connect()
Example #3
Source File: test_resolver.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_failure(self): """ L{SimpleResolverComplexifier} translates a known error result from L{IResolverSimple.resolveHostName} into an empty result. """ simple = SillyResolverSimple() complex = SimpleResolverComplexifier(simple) receiver = ResultHolder(self) self.assertEqual(receiver._started, False) complex.resolveHostName(receiver, u"example.com") self.assertEqual(receiver._started, True) self.assertEqual(receiver._ended, False) self.assertEqual(receiver._addresses, []) simple._requests[0].errback(DNSLookupError("nope")) self.assertEqual(receiver._ended, True) self.assertEqual(receiver._addresses, [])
Example #4
Source File: test_endpoints.py From learn_python3_spider with MIT License | 6 votes |
def test_errorsLogged(self): """ Hostname resolution errors are logged. """ mreactor = MemoryReactor() clientFactory = object() ep, ignoredArgs, ignoredDest = self.createClientEndpoint( mreactor, clientFactory) def getaddrinfoThatFails(*args, **kwargs): raise gaierror(-5, 'No address associated with hostname') ep._getaddrinfo = getaddrinfoThatFails d = ep.connect(clientFactory) self.assertIsInstance(self.failureResultOf(d).value, error.DNSLookupError) self.assertEqual(1, len(self.flushLoggedErrors(gaierror)))
Example #5
Source File: test_socks.py From telepresence with Apache License 2.0 | 6 votes |
def test_socks5TorStyleFailedResolution(self): """ A Tor-style name resolution when resolution fails. """ self.assert_handshake() self.deliver_data( self.sock, struct.pack('!BBBB', 5, 0xf0, 0, 3) + struct.pack( "!B", len(b"unknown") ) + b"unknown" + struct.pack("!H", 3401) ) reply = self.sock.transport.value() self.sock.transport.clear() self.assertEqual(reply, struct.pack('!BBBB', 5, 4, 0, 0)) self.assertTrue(self.sock.transport.stringTCPTransport_closing) self.assertEqual(len(self.flushLoggedErrors(DNSLookupError)), 1)
Example #6
Source File: test_errorback.py From poi_spider with Apache License 2.0 | 6 votes |
def errback_httpbin(self, failure): # log all failures self.logger.error(repr(failure)) # in case you want to do something special for some errors, # you may need the failure's type: if failure.check(HttpError): print("HttpError出错了") # these exceptions come from HttpError spider middleware # you can get the non-200 response response = failure.value.response self.logger.error('HttpError on %s', response.url) elif failure.check(DNSLookupError): # this is the original request request = failure.request self.logger.error('DNSLookupError on %s', request.url) elif failure.check(TimeoutError, TCPTimedOutError): request = failure.request self.logger.error('TimeoutError on %s', request.url)
Example #7
Source File: srvconnect.py From python-for-android with Apache License 2.0 | 6 votes |
def connect(self): """Start connection to remote server.""" self.factory.doStart() self.factory.startedConnecting(self) if not self.servers: if self.domain is None: self.connectionFailed(error.DNSLookupError("Domain is not defined.")) return d = client.lookupService('_%s._%s.%s' % (self.service, self.protocol, self.domain)) d.addCallbacks(self._cbGotServers, self._ebGotServers) d.addCallback(lambda x, self=self: self._reallyConnect()) d.addErrback(self.connectionFailed) elif self.connector is None: self._reallyConnect() else: self.connector.connect()
Example #8
Source File: srvconnect.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def _cbGotServers(self, result): answers, auth, add = result if len(answers) == 1 and answers[0].type == dns.SRV \ and answers[0].payload \ and answers[0].payload.target == dns.Name(b'.'): # decidedly not available raise error.DNSLookupError("Service %s not available for domain %s." % (repr(self.service), repr(self.domain))) self.servers = [] self.orderedServers = [] for a in answers: if a.type != dns.SRV or not a.payload: continue self.orderedServers.append(a.payload)
Example #9
Source File: test_resolver.py From learn_python3_spider with MIT License | 6 votes |
def test_failure(self): """ L{SimpleResolverComplexifier} translates a known error result from L{IResolverSimple.resolveHostName} into an empty result. """ simple = SillyResolverSimple() complex = SimpleResolverComplexifier(simple) receiver = ResultHolder(self) self.assertEqual(receiver._started, False) complex.resolveHostName(receiver, u"example.com") self.assertEqual(receiver._started, True) self.assertEqual(receiver._ended, False) self.assertEqual(receiver._addresses, []) simple._requests[0].errback(DNSLookupError("nope")) self.assertEqual(receiver._ended, True) self.assertEqual(receiver._addresses, [])
Example #10
Source File: connector.py From magic-wormhole with MIT License | 5 votes |
def _schedule_connection(self, delay, h, is_relay): ep = endpoint_from_hint_obj(h, self._tor, self._reactor) desc = describe_hint_obj(h, is_relay, self._tor) d = deferLater(self._reactor, delay, self._connect, ep, desc, is_relay) d.addErrback(lambda f: f.trap(ConnectingCancelledError, ConnectionRefusedError, CancelledError, )) # TODO: HostnameEndpoint.connect catches CancelledError and replaces # it with DNSLookupError. Remove this workaround when # https://twistedmatrix.com/trac/ticket/9696 is fixed. d.addErrback(lambda f: f.trap(DNSLookupError)) d.addErrback(log.err) self._pending_connectors.add(d)
Example #11
Source File: _resolver.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def resolveHostName(self, resolutionReceiver, hostName, portNumber=0, addressTypes=None, transportSemantics='TCP'): """ See L{IHostnameResolver.resolveHostName} @param resolutionReceiver: see interface @param hostName: see interface @param portNumber: see interface @param addressTypes: see interface @param transportSemantics: see interface @return: see interface """ resolution = HostResolution(hostName) resolutionReceiver.resolutionBegan(resolution) onAddress = self._simpleResolver.getHostByName(hostName) def addressReceived(address): resolutionReceiver.addressResolved(IPv4Address('TCP', address, portNumber)) def errorReceived(error): if not error.check(DNSLookupError): self._log.failure("while looking up {name} with {resolver}", error, name=hostName, resolver=self._simpleResolver) onAddress.addCallbacks(addressReceived, errorReceived) def finish(result): resolutionReceiver.resolutionComplete() onAddress.addCallback(finish) return resolution
Example #12
Source File: socks.py From telepresence with Apache License 2.0 | 5 votes |
def _handle_error(self, failure): """Handle errors in connecting or resolving.""" log.err(failure) error_code = 1 if failure.check(DNSLookupError): error_code = 4 if failure.check(ConnectionRefusedError): error_code = 5 self._write_response(error_code, "0.0.0.0", 0)
Example #13
Source File: test_socks.py From telepresence with Apache License 2.0 | 5 votes |
def resolve(self, hostname): """ Resolve a hostname by looking it up in the C{names} dictionary. """ try: return defer.succeed(self.names[hostname]) except KeyError: return defer.fail( DNSLookupError( "FakeResolverReactor couldn't find {}".format(hostname) ) )
Example #14
Source File: base.py From python-for-android with Apache License 2.0 | 5 votes |
def _fail(self, name, err): err = error.DNSLookupError("address %r not found: %s" % (name, err)) return failure.Failure(err)
Example #15
Source File: base.py From python-for-android with Apache License 2.0 | 5 votes |
def getHostByName(self, name, timeout = (1, 3, 11, 45)): try: address = socket.gethostbyname(name) except socket.error: msg = "address %r not found" % (name,) err = error.DNSLookupError(msg) return defer.fail(err) else: return defer.succeed(address)
Example #16
Source File: test_tcp.py From python-for-android with Apache License 2.0 | 5 votes |
def getHostByName(self, name, timeout): try: return succeed(self.names[name]) except KeyError: return fail(DNSLookupError("FakeResolver couldn't find " + name))
Example #17
Source File: test_base.py From python-for-android with Apache License 2.0 | 5 votes |
def test_failure(self): """ L{ThreadedResolver.getHostByName} returns a L{Deferred} which fires a L{Failure} if the call to L{socket.gethostbyname} raises an exception. """ timeout = 30 reactor = FakeReactor() self.addCleanup(reactor._stop) def fakeGetHostByName(name): raise IOError("ENOBUFS (this is a funny joke)") self.patch(socket, 'gethostbyname', fakeGetHostByName) failedWith = [] resolver = ThreadedResolver(reactor) d = resolver.getHostByName("some.name", (timeout,)) self.assertFailure(d, DNSLookupError) d.addCallback(failedWith.append) reactor._runThreadCalls() self.assertEqual(len(failedWith), 1) # Make sure that any timeout-related stuff gets cleaned up. reactor._clock.advance(timeout + 1) self.assertEqual(reactor._clock.calls, [])
Example #18
Source File: test_base.py From python-for-android with Apache License 2.0 | 5 votes |
def test_timeout(self): """ If L{socket.gethostbyname} does not complete before the specified timeout elapsed, the L{Deferred} returned by L{ThreadedResolver.getHostByBame} fails with L{DNSLookupError}. """ timeout = 10 reactor = FakeReactor() self.addCleanup(reactor._stop) result = Queue() def fakeGetHostByName(name): raise result.get() self.patch(socket, 'gethostbyname', fakeGetHostByName) failedWith = [] resolver = ThreadedResolver(reactor) d = resolver.getHostByName("some.name", (timeout,)) self.assertFailure(d, DNSLookupError) d.addCallback(failedWith.append) reactor._clock.advance(timeout - 1) self.assertEqual(failedWith, []) reactor._clock.advance(1) self.assertEqual(len(failedWith), 1) # Eventually the socket.gethostbyname does finish - in this case, with # an exception. Nobody cares, though. result.put(IOError("The I/O was errorful"))
Example #19
Source File: test_mail.py From python-for-android with Apache License 2.0 | 5 votes |
def testSimpleFailureWithFallback(self): return self.assertFailure(self.mx.getMX('test.domain'), DNSLookupError)
Example #20
Source File: test_srvconnect.py From python-for-android with Apache License 2.0 | 5 votes |
def test_SRVNoService(self): """ Test that connecting fails when no service is present. """ payload = dns.Record_SRV(port=5269, target='.', ttl=60) client.theResolver.results = [dns.RRHeader(name='example.org', type=dns.SRV, cls=dns.IN, ttl=60, payload=payload)] self.connector.connect() self.assertNotIdentical(None, self.factory.reason) self.factory.reason.trap(DNSLookupError) self.assertEquals(self.reactor.tcpClients, [])
Example #21
Source File: SaneThreadedResolver.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def _fail(self, name, err): err = error.DNSLookupError("address %r not found: %s" % (name, err)) return failure.Failure(err)
Example #22
Source File: SaneThreadedResolver.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def _fail(self, name, err): err = error.DNSLookupError("address %r not found: %s" % (name, err)) return failure.Failure(err)
Example #23
Source File: base.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def _fail(self, name, err): err = error.DNSLookupError("address %r not found: %s" % (name, err)) return failure.Failure(err)
Example #24
Source File: base.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def getHostByName(self, name, timeout = (1, 3, 11, 45)): try: address = socket.gethostbyname(name) except socket.error: msg = "address %r not found" % (name,) err = error.DNSLookupError(msg) return defer.fail(err) else: return defer.succeed(address)
Example #25
Source File: test_mail.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def testSimpleFailureWithFallback(self): return self.assertFailure(self.mx.getMX('test.domain'), DNSLookupError)
Example #26
Source File: test_udp.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def testDNSFailure(self): client = Client() d = client.startedDeferred = defer.Deferred() # if this domain exists, shoot your sysadmin reactor.connectUDP("xxxxxxxxx.zzzzzzzzz.yyyyy.", 8888, client) def didNotConnect(ign): self.assertEquals(client.stopped, 0) self.assertEquals(client.started, 0) d = self.assertFailure(d, error.DNSLookupError) d.addCallback(didNotConnect) return d
Example #27
Source File: test_names.py From learn_python3_spider with MIT License | 5 votes |
def test_zoneTransferConnectionFails(self): """ A failed AXFR TCP connection errbacks the L{Deferred} returned from L{Resolver.lookupZone}. """ resolver = Resolver(servers=[("nameserver.invalid", 53)]) return self.assertFailure(resolver.lookupZone("impossible.invalid"), error.DNSLookupError)
Example #28
Source File: _resolver.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def resolutionComplete(self): """ See L{IResolutionReceiver.resolutionComplete} """ if self._resolved: return self._deferred.errback(DNSLookupError(self._resolution.name))
Example #29
Source File: base.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def _fail(self, name, err): err = error.DNSLookupError("address %r not found: %s" % (name, err)) return failure.Failure(err)
Example #30
Source File: base.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def getHostByName(self, name, timeout = (1, 3, 11, 45)): try: address = socket.gethostbyname(name) except socket.error: msg = "address %r not found" % (name,) err = error.DNSLookupError(msg) return defer.fail(err) else: return defer.succeed(address)