def connection_factory(host, port): return create_https_connection( host, port, cafile=cafile, client_certfile=client_certfile, client_keyfile=client_keyfile, tls_version_min=api.env.tls_version_min, tls_version_max=api.env.tls_version_max)
def connection_factory(host, port): return create_https_connection(host, port, cafile=cafile, client_certfile=client_certfile, client_keyfile=client_keyfile, tls_version_min=api.env.tls_version_min, tls_version_max=api.env.tls_version_max)
def test_tls_version_span(minver, maxver, opt, expected): assert get_proper_tls_version_span(minver, maxver) == expected # file must exist and contain certs cafile = ssl.get_default_verify_paths().cafile conn = create_https_connection("invalid.test", cafile=cafile, tls_version_min=minver, tls_version_max=maxver) ctx = getattr(conn, "_context") assert ctx.options == BASE_OPT | opt assert ctx.get_ciphers() == BASE_CTX.get_ciphers()
def page_raw_source(self): """ Retrieve a raw source of the web page """ host = api.env.host cacert = api.env.tls_ca_cert conn = util.create_https_connection(host, cafile=cacert) conn.request('GET', self.url) response = conn.getresponse() # check successful response from a server assert response.status == 200 return response.read().decode('utf-8')
def make_connection(self, host): host, self._extra_headers, _x509 = self.get_host_info(host) if self._connection and host == self._connection[0]: logger.debug("HTTP connection keep-alive (%s)", host) return self._connection[1] conn = create_https_connection(host, 443, getattr(context, 'ca_certfile', None), tls_version_min=api.env.tls_version_min, tls_version_max=api.env.tls_version_max) conn.connect() logger.debug("New HTTP connection (%s)", host) self._connection = host, conn return self._connection[1]
def make_connection(self, host): host, self._extra_headers, _x509 = self.get_host_info(host) if self._connection and host == self._connection[0]: logger.debug("HTTP connection keep-alive (%s)", host) return self._connection[1] conn = create_https_connection( host, 443, getattr(context, 'ca_certfile', None), tls_version_min=api.env.tls_version_min, tls_version_max=api.env.tls_version_max) conn.connect() logger.debug("New HTTP connection (%s)", host) self._connection = host, conn return self._connection[1]
def send_request(self, method='POST', params=None): """ Send a request to HTTP server :param key When not None, overrides default app_uri """ if params is not None: # urlencode *can* take two arguments # pylint: disable=too-many-function-args params = urllib.parse.urlencode(params, True) url = 'https://' + self.host + self.app_uri headers = {'Content-Type' : self.content_type, 'Referer' : url} conn = util.create_https_connection( self.host, cafile=self.cacert) conn.request(method, self.app_uri, params, headers) return conn.getresponse()
def send_request(self, method='POST', params=None): """ Send a request to HTTP server :param key When not None, overrides default app_uri """ if params is not None: if self.content_type == 'application/x-www-form-urlencoded': params = urllib.parse.urlencode(params, True) url = 'https://' + self.host + self.app_uri headers = { 'Content-Type': self.content_type, 'Accept-Language': self.accept_language, 'Referer': url } conn = util.create_https_connection(self.host, cafile=self.cacert) conn.request(method, self.app_uri, params, headers) return conn.getresponse()
def __inner(self, host, **kwargs): tmp = self.__kwargs.copy() tmp.update(kwargs) return create_https_connection(host, **tmp)