code: def get_page(self, url, *args, **kwds):
          
          contextFactory = None
          scheme, host, port, path = parse(url)
          data = kwds.get('postdata', None)
          self._method = method = kwds.get('method', 'GET')
          self.request_headers = self._headers(kwds.get('headers', {}))
          if (self.body_producer is None) and (data is not None):
              self.body_producer = FileBodyProducer(StringIO(data))
          if self.endpoint.ssl_hostname_verification:
              contextFactory = None
          else:
              contextFactory = WebClientContextFactory()
          agent = _get_agent(scheme, host, self.reactor, contextFactory)
          if scheme == "https":
              self.client.url = url
          d = agent.request(method, url, self.request_headers, self.body_producer)
          d.addCallback(self._handle_response)
          return d
docs: Define our own get_page method so that we can easily override the
          factory when we need to. This was copied from the following:
              * twisted.web.client.getPage
              * twisted.web.client._makeGetterFactory