Python requests.compat.urlparse() Examples
The following are 30
code examples of requests.compat.urlparse().
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
requests.compat
, or try the search function
.
Example #1
Source File: gssapi_.py From requests-gssapi with ISC License | 6 votes |
def authenticate_server(self, response): """ Uses GSSAPI to authenticate the server. Returns True on success, False on failure. """ log.debug("authenticate_server(): Authenticate header: {0}".format( _negotiate_value(response))) host = urlparse(response.url).hostname try: # If the handshake isn't complete here, nothing we can do self.context[host].step(_negotiate_value(response)) except gssapi.exceptions.GSSError as error: log.exception("authenticate_server(): context stepping failed:") log.exception(error.gen_message()) return False log.debug("authenticate_server(): returning {0}".format(response)) return True
Example #2
Source File: gssapi_.py From requests-gssapi with ISC License | 6 votes |
def authenticate_user(self, response, **kwargs): """Handles user authentication with GSSAPI""" host = urlparse(response.url).hostname try: auth_header = self.generate_request_header(response, host) except SPNEGOExchangeError: # GSS Failure, return existing response return response log.debug("authenticate_user(): Authorization header: {0}".format( auth_header)) response.request.headers['Authorization'] = auth_header # Consume the content so we can reuse the connection for the next # request. response.content response.raw.release_conn() _r = response.connection.send(response.request, **kwargs) _r.history.append(response) log.debug("authenticate_user(): returning {0}".format(_r)) return _r
Example #3
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 6 votes |
def test_explicit_mech(self): with patch.multiple("gssapi.Credentials", __new__=fake_creds), \ patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname fake_mech = b'fake mech' auth = requests_gssapi.HTTPSPNEGOAuth(mech=fake_mech) auth.generate_request_header(response, host) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), usage="initiate", flags=gssflags, creds=None, mech=b'fake mech') fake_resp.assert_called_with(b"token")
Example #4
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 6 votes |
def test_explicit_creds(self): with patch.multiple("gssapi.Credentials", __new__=fake_creds), \ patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname creds = gssapi.Credentials() auth = requests_gssapi.HTTPSPNEGOAuth(creds=creds) auth.generate_request_header(response, host) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), usage="initiate", flags=gssflags, creds=b"fake creds", mech=None) fake_resp.assert_called_with(b"token")
Example #5
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 6 votes |
def test_principal_override(self): with patch.multiple("gssapi.Credentials", __new__=fake_creds), \ patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPKerberosAuth(principal="user@REALM") auth.generate_request_header(response, host) fake_creds.assert_called_with(gssapi.creds.Credentials, usage="initiate", name=gssapi_name("user@REALM")) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), usage="initiate", flags=gssflags, creds=b"fake creds", mech=None)
Example #6
Source File: unixadapter.py From commissaire with GNU General Public License v3.0 | 6 votes |
def get_connection(self, url, proxies=None): proxies = proxies or {} proxy = proxies.get(urlparse(url.lower()).scheme) if proxy: raise ValueError('%s does not support specifying proxies' % self.__class__.__name__) with self.pools.lock: pool = self.pools.get(url) if pool: return pool pool = UnixHTTPConnectionPool(url, self.timeout) self.pools[url] = pool return pool
Example #7
Source File: __init__.py From requests-http-signature with Apache License 2.0 | 6 votes |
def get_string_to_sign(self, request, headers, created_timestamp, expires_timestamp): sts = [] for header in headers: if header == "(request-target)": path_url = requests.models.RequestEncodingMixin.path_url.fget(request) sts.append("{}: {} {}".format(header, request.method.lower(), path_url)) elif header == "(created)": sts.append("{}: {}".format(header, created_timestamp)) elif header == "(expires)": assert (expires_timestamp is not None), \ 'You should provide the "expires_in" argument when using the (expires) header' sts.append("{}: {}".format(header, int(expires_timestamp))) else: if header.lower() == "host": url = urlparse(request.url) value = request.headers.get("host", url.hostname) if url.scheme == "http" and url.port not in [None, 80] or url.scheme == "https" \ and url.port not in [443, None]: value = "{}:{}".format(value, url.port) else: value = request.headers[header] sts.append("{k}: {v}".format(k=header.lower(), v=value)) return "\n".join(sts).encode()
Example #8
Source File: adapters.py From requests-unixsocket with Apache License 2.0 | 6 votes |
def get_connection(self, url, proxies=None): proxies = proxies or {} proxy = proxies.get(urlparse(url.lower()).scheme) if proxy: raise ValueError('%s does not support specifying proxies' % self.__class__.__name__) with self.pools.lock: pool = self.pools.get(url) if pool: return pool pool = UnixHTTPConnectionPool(url, self.timeout) self.pools[url] = pool return pool
Example #9
Source File: dump.py From script.module.openscrapers with GNU General Public License v3.0 | 5 votes |
def _build_request_path(url, proxy_info): uri = compat.urlparse(url) proxy_url = proxy_info.get('request_path') if proxy_url is not None: request_path = _coerce_to_bytes(proxy_url) return request_path, uri request_path = _coerce_to_bytes(uri.path) if uri.query: request_path += b'?' + _coerce_to_bytes(uri.query) return request_path, uri
Example #10
Source File: handler.py From Requester with MIT License | 5 votes |
def _key_from_url(url): parsed = urlparse(url) return urlunparse((parsed.scheme.lower(), parsed.netloc.lower(), '', '', '', ''))
Example #11
Source File: dump.py From bazarr with GNU General Public License v3.0 | 5 votes |
def _build_request_path(url, proxy_info): uri = compat.urlparse(url) proxy_url = proxy_info.get('request_path') if proxy_url is not None: request_path = _coerce_to_bytes(proxy_url) return request_path, uri request_path = _coerce_to_bytes(uri.path) if uri.query: request_path += b'?' + _coerce_to_bytes(uri.query) return request_path, uri
Example #12
Source File: handler.py From bazarr with GNU General Public License v3.0 | 5 votes |
def _key_from_url(url): parsed = urlparse(url) return urlunparse((parsed.scheme.lower(), parsed.netloc.lower(), '', '', '', ''))
Example #13
Source File: unixadapter.py From commissaire with GNU General Public License v3.0 | 5 votes |
def connect(self): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.timeout) socket_path = unquote(urlparse(self.unix_socket_url).netloc) sock.connect(socket_path) self.sock = sock
Example #14
Source File: dispatch.py From planet-client-python with Apache License 2.0 | 5 votes |
def _is_subdomain_of_tld(url1, url2): orig_host = urlparse(url1).hostname re_host = urlparse(url2).hostname return orig_host.split('.')[-2:] == re_host.split('.')[-2:]
Example #15
Source File: utils.py From planet-client-python with Apache License 2.0 | 5 votes |
def get_filename_from_url(url): """Get a filename from a URL. >>> from planet.api import utils >>> urls = [ ... 'https://planet.com/', ... 'https://planet.com/path/to/', ... 'https://planet.com/path/to/example.tif', ... 'https://planet.com/path/to/example.tif?foo=f6f1&bar=baz', ... 'https://planet.com/path/to/example.tif?foo=f6f1&bar=baz#quux' ... ] >>> for url in urls: ... print('{} -> {}'.format(url, utils.get_filename_from_url(url))) ... https://planet.com/ -> None https://planet.com/path/to/ -> None https://planet.com/path/to/example.tif -> example.tif https://planet.com/path/to/example.tif?foo=f6f1&bar=baz -> example.tif https://planet.com/path/to/example.tif?foo=f6f1&bar=baz#quux -> example.tif >>> :returns: a filename (i.e. ``basename``) :rtype: str or None """ path = urlparse(url).path name = path[path.rfind('/')+1:] return name or None
Example #16
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 5 votes |
def test_generate_request_header(self): with patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPKerberosAuth() self.assertEqual( auth.generate_request_header(response, host), b64_negotiate_response) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), creds=None, mech=None, flags=gssflags, usage="initiate") fake_resp.assert_called_with(b"token")
Example #17
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 5 votes |
def test_generate_request_header_init_error(self): with patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fail_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPKerberosAuth() self.assertRaises(requests_gssapi.exceptions.SPNEGOExchangeError, auth.generate_request_header, response, host) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), usage="initiate", flags=gssflags, creds=None, mech=None)
Example #18
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 5 votes |
def test_generate_request_header_step_error(self): with patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fail_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPKerberosAuth() self.assertRaises(requests_gssapi.exceptions.SPNEGOExchangeError, auth.generate_request_header, response, host) fake_init.assert_called_with( name=gssapi_name("HTTP@www.example.org"), usage="initiate", flags=gssflags, creds=None, mech=None) fail_resp.assert_called_with(b"token")
Example #19
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 5 votes |
def test_generate_request_header_custom_service(self): with patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPKerberosAuth(service="barfoo") auth.generate_request_header(response, host), fake_init.assert_called_with( name=gssapi_name("barfoo@www.example.org"), usage="initiate", flags=gssflags, creds=None, mech=None) fake_resp.assert_called_with(b"token")
Example #20
Source File: test_requests_gssapi.py From requests-gssapi with ISC License | 5 votes |
def test_target_name(self): with patch.multiple("gssapi.SecurityContext", __init__=fake_init, step=fake_resp): response = requests.Response() response.url = "http://www.example.org/" response.headers = {'www-authenticate': b64_negotiate_token} host = urlparse(response.url).hostname auth = requests_gssapi.HTTPSPNEGOAuth( target_name="HTTP@otherhost.otherdomain.org") auth.generate_request_header(response, host) fake_init.assert_called_with( name=gssapi_name("HTTP@otherhost.otherdomain.org"), usage="initiate", flags=gssflags, creds=None, mech=None) fake_resp.assert_called_with(b"token")
Example #21
Source File: asyncadapter.py From plex-for-kodi with GNU General Public License v2.0 | 5 votes |
def get_connection(self, url, proxies=None): """Returns a urllib3 connection for the given URL. This should not be called from user code, and is only exposed for use when subclassing the :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`. :param url: The URL to connect to. :param proxies: (optional) A Requests-style dictionary of proxies used on this request. """ proxies = proxies or {} proxy = proxies.get(urlparse(url.lower()).scheme) if proxy: proxy_headers = self.proxy_headers(proxy) if proxy not in self.proxy_manager: self.proxy_manager[proxy] = proxy_from_url( proxy, proxy_headers=proxy_headers, num_pools=self._pool_connections, maxsize=self._pool_maxsize, block=self._pool_block ) conn = self.proxy_manager[proxy].connection_from_url(url) else: # Only scheme should be lower case parsed = urlparse(url) url = parsed.geturl() conn = self.poolmanager.connection_from_url(url) self.connections.append(conn) return conn
Example #22
Source File: structs.py From aegea with Apache License 2.0 | 5 votes |
def __init__(self, count, url, cls, session, params=None, etag=None, headers=None): GitHubCore.__init__(self, {}, session) #: Original number of items requested self.original = count #: Number of items left in the iterator self.count = count #: URL the class used to make it's first GET self.url = url #: Last URL that was requested self.last_url = None self._api = self.url #: Class for constructing an item to return self.cls = cls #: Parameters of the query string self.params = params or {} self._remove_none(self.params) # We do not set this from the parameter sent. We want this to # represent the ETag header returned by GitHub no matter what. # If this is not None, then it won't be set from the response and # that's not what we want. #: The ETag Header value returned by GitHub self.etag = None #: Headers generated for the GET request self.headers = headers or {} #: The last response seen self.last_response = None #: Last status code received self.last_status = 0 if etag: self.headers.update({'If-None-Match': etag}) self.path = urlparse(self.url).path
Example #23
Source File: client.py From custodia with GNU General Public License v3.0 | 5 votes |
def get_connection(self, url, proxies=None): # proxies, silently ignored path = unquote(urlparse(url).netloc) return HTTPUnixConnectionPool(path)
Example #24
Source File: UnixHTTPAdapter.py From im with GNU General Public License v3.0 | 5 votes |
def connect(self): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.timeout) socket_path = unquote(urlparse(self.unix_socket_url).netloc) sock.connect(socket_path) self.sock = sock
Example #25
Source File: UnixHTTPAdapter.py From im with GNU General Public License v3.0 | 5 votes |
def get_connection(self, socket_path, proxies=None): proxies = proxies or {} proxy = proxies.get(urlparse(socket_path.lower()).scheme) if proxy: raise ValueError('%s does not support specifying proxies' % self.__class__.__name__) return UnixHTTPConnectionPool(socket_path, self.timeout)
Example #26
Source File: cfscrape17.py From bugatsinho.github.io with GNU General Public License v3.0 | 5 votes |
def cloudflare_is_bypassed(self, url, resp=None): cookie_domain = ".{}".format(urlparse(url).netloc) return ( self.cookies.get("cf_clearance", None, domain=cookie_domain) or (resp and resp.cookies.get("cf_clearance", None, domain=cookie_domain)) )
Example #27
Source File: cfscrape.py From bugatsinho.github.io with GNU General Public License v3.0 | 5 votes |
def cloudflare_is_bypassed(self, url, resp=None): cookie_domain = ".{}".format(urlparse(url).netloc) return ( self.cookies.get("cf_clearance", None, domain=cookie_domain) or (resp and resp.cookies.get("cf_clearance", None, domain=cookie_domain)) )
Example #28
Source File: request.py From a4kScrapers with MIT License | 5 votes |
def _get_domain(url): parsed_url = urlparse(url) scheme = parsed_url.scheme if parsed_url.scheme != '' else 'https' return "%s://%s" % (scheme, parsed_url.netloc)
Example #29
Source File: request.py From a4kScrapers with MIT License | 5 votes |
def get(self, url, headers={}, allow_redirects=True): parsed_url = urlparse(url) response = self.head(_get_domain(url)) if response is None: return None (url, status_code) = response if status_code != 200: return None resolved_url = urlparse(url) url = urlunparse( ( resolved_url.scheme, resolved_url.netloc, parsed_url.path, parsed_url.params, parsed_url.query, parsed_url.fragment, ) ) tools.log('GET: %s' % url, 'info') request = lambda x: _get(self._cfscrape, url, headers, self._timeout, allow_redirects, x) request.url = url return self._request_core(request)
Example #30
Source File: utils.py From pybel with MIT License | 5 votes |
def get_uri_name(url: str) -> str: """Get the file name from the end of the URL.""" url_parsed = urlparse(url) if url.startswith(_FRAUNHOFER_RESOURCES): return url_parsed.query.split('=')[-1] else: url_parts = url_parsed.path.split('/') return url_parts[-1]