code: def request(self, method, uri, headers=None, bodyProducer=None):
          
          hostname = urlparse(uri).hostname
          ip_str = yield self.resolve(hostname)
          # `ipaddress` takes a Unicode string and I don't really care to
          # handle `UnicodeDecodeError` separately.
          ip = ipaddress.ip_address(ip_str.decode('ascii', 'replace'))
          if ip.is_private or ip.is_loopback or ip.is_link_local:
              raise BlacklistedHost(hostname, ip)
          response = yield self.agent.request(method, uri, headers, bodyProducer)
          returnValue(response)
docs: Issue a request to the server indicated by *uri*.