Python urllib.splitport() Examples
The following are 30
code examples of urllib.splitport().
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
urllib
, or try the search function
.
Example #1
Source File: proxy.py From darkc0de-old-stuff with GNU General Public License v3.0 | 7 votes |
def request(self, method, url, body=None, headers={}): # Request is called before connect, so can interpret url and get # real host/port to be used to make CONNECT request to proxy proto, rest = urllib.splittype(url) if proto is None: raise ValueError, "unknown URL type: %s" % url # Get host host, rest = urllib.splithost(rest) # Try to get port host, port = urllib.splitport(host) # If port is not defined try to get from proto if port is None: try: port = self._ports[proto] except KeyError: raise ValueError, "unknown protocol for: %s" % url self._real_host = host self._real_port = int(port) httplib.HTTPConnection.request(self, method, url, body, headers)
Example #2
Source File: byterange.py From root-2015-tasks with GNU General Public License v3.0 | 6 votes |
def ftp_open(self, req): host = req.get_host() if not host: raise IOError, ('ftp error', 'no host given') host, port = splitport(host) if port is None: port = ftplib.FTP_PORT else: port = int(port) # username/password handling user, host = splituser(host) if user: user, passwd = splitpasswd(user) else: passwd = None host = unquote(host) user = unquote(user or '') passwd = unquote(passwd or '') try: host = socket.gethostbyname(host) except socket.error, msg: raise urllib2.URLError(msg)
Example #3
Source File: __init__.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #4
Source File: test_urllib.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_splitport(self): splitport = urllib.splitport self.assertEqual(splitport('parrot:88'), ('parrot', '88')) self.assertEqual(splitport('parrot'), ('parrot', None)) self.assertEqual(splitport('parrot:'), ('parrot', None)) self.assertEqual(splitport('127.0.0.1'), ('127.0.0.1', None)) self.assertEqual(splitport('parrot:cheese'), ('parrot:cheese', None))
Example #5
Source File: user.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def uri_encode_idna(uri): ''' Do IDNA encoding for hostnames, if possible ''' scheme, netloc, path, query, fragment = urlparse.urlsplit(uri) if scheme.lower() in urlparse.uses_netloc and netloc is not None: user_password, host_port = urllib.splituser(netloc) if host_port is not None: host, port = urllib.splitport(host_port) if host is not None and host[:1] + host[-1:] != '[]': # NOTE: this works around a bug in the urlparse cache w.r.t. unicode strings host = ''.join([ chr(ord(ch)) for ch in host ]) try: host = urllib.quote(unicodedata.normalize('NFKC', urllib.unquote(host).decode('utf-8')).encode('utf-8')) except: pass try: host = urllib.quote(encode_idna(urllib.unquote(host))) except: pass host_port = host + (port is not None and (':' + port) or '') netloc = (user_password is not None and (user_password + '@') or '') + host_port pass uri = urlparse.urlunsplit((scheme, netloc, path, query, fragment)) # NOTE: this works around a bug in the urlparse cache w.r.t. unicode strings uri = ''.join([ chr(ord(ch)) for ch in uri ]) return uri
Example #6
Source File: user.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def uri_decode_idna(uri): ''' Do IDNA decoding for hostnames, if possible ''' scheme, netloc, path, query, fragment = urlparse.urlsplit(uri) if scheme.lower() in urlparse.uses_netloc and netloc is not None: user_password, host_port = urllib.splituser(netloc) if host_port is not None: host, port = urllib.splitport(host_port) if host is not None and host[:1] + host[-1:] != '[]': # NOTE: this works around a bug in the urlparse cache w.r.t. unicode strings host = ''.join([ chr(ord(ch)) for ch in host ]) try: host = urllib.quote(decode_idna(urllib.unquote(host))) except: pass try: host = urllib.quote(unicodedata.normalize('NFKC', urllib.unquote(host).decode('utf-8')).encode('utf-8')) except: pass host_port = host + (port is not None and (':' + port) or '') netloc = (user_password is not None and (user_password + '@') or '') + host_port pass uri = urlparse.urlunsplit((scheme, netloc, path, query, fragment)) # NOTE: this works around a bug in the urlparse cache w.r.t. unicode strings uri = ''.join([ chr(ord(ch)) for ch in uri ]) return uri
Example #7
Source File: metadata.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def normalize_uri(uri): ''' normalize a URI; also converts IRIs to URIs ''' uri = ''.join([ (ord(x) in xrange(33, 127)) and x or urllib.quote(x, safe='') for x in u''.join(uri.decode('UTF-8').split()).encode('UTF-8') ]) try: scheme, netloc, path, query, fragment = urlparse.urlsplit(uri) uri = urlparse.urlunsplit((scheme, netloc, path, query, fragment)) if scheme in urlparse.uses_netloc: if netloc is not None: user, hostport = urllib.splituser(netloc) if hostport is not None: host, port = urllib.splitport(hostport) if host is not None: if host[:1] != '[': # hostname segments get downcased and IDNA-encoded ohost = [] for part in host.split('.'): part = urllib.unquote(part) try: part = part.decode('UTF-8').lower().encode('UTF-8') try: part = part.decode('UTF-8').encode('idna') pass except KeyboardInterrupt, k: raise except: pass pass except KeyboardInterrupt, k: raise except:
Example #8
Source File: byterange.py From root-2015-tasks with GNU General Public License v3.0 | 5 votes |
def open_local_file(self, req): import mimetypes import mimetools host = req.get_host() file = req.get_selector() localfile = urllib.url2pathname(file) stats = os.stat(localfile) size = stats[stat.ST_SIZE] modified = rfc822.formatdate(stats[stat.ST_MTIME]) mtype = mimetypes.guess_type(file)[0] if host: host, port = urllib.splitport(host) if port or socket.gethostbyname(host) not in self.get_names(): raise urllib2.URLError('file not on local host') fo = open(localfile,'rb') brange = req.headers.get('Range',None) brange = range_header_to_tuple(brange) assert brange != () if brange: (fb,lb) = brange if lb == '': lb = size if fb < 0 or fb > size or lb > size: raise RangeError(9, 'Requested Range Not Satisfiable') size = (lb - fb) fo = RangeableFileObject(fo, (fb,lb)) headers = mimetools.Message(StringIO( 'Content-Type: %s\nContent-Length: %d\nLast-modified: %s\n' % (mtype or 'text/plain', size, modified))) return urllib.addinfourl(fo, headers, 'file:'+file) # FTP Range Support # Unfortunately, a large amount of base FTP code had to be copied # from urllib and urllib2 in order to insert the FTP REST command. # Code modifications for range support have been commented as # follows: # -- range support modifications start/end here
Example #9
Source File: binding.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def _spliturl(url): scheme, opaque = urllib.splittype(url) netloc, path = urllib.splithost(opaque) host, port = urllib.splitport(netloc) # Strip brackets if its an IPv6 address if host.startswith('[') and host.endswith(']'): host = host[1:-1] if port is None: port = DEFAULT_PORT return scheme, host, port, path # Given an HTTP request handler, this wrapper objects provides a related # family of convenience methods built using that handler.
Example #10
Source File: binding.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def _spliturl(url): scheme, opaque = urllib.splittype(url) netloc, path = urllib.splithost(opaque) host, port = urllib.splitport(netloc) # Strip brackets if its an IPv6 address if host.startswith('[') and host.endswith(']'): host = host[1:-1] if port is None: port = DEFAULT_PORT return scheme, host, port, path # Given an HTTP request handler, this wrapper objects provides a related # family of convenience methods built using that handler.
Example #11
Source File: binding.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def _spliturl(url): scheme, opaque = urllib.splittype(url) netloc, path = urllib.splithost(opaque) host, port = urllib.splitport(netloc) # Strip brackets if its an IPv6 address if host.startswith('[') and host.endswith(']'): host = host[1:-1] if port is None: port = DEFAULT_PORT return scheme, host, port, path # Given an HTTP request handler, this wrapper objects provides a related # family of convenience methods built using that handler.
Example #12
Source File: __init__.py From twitter-for-bigquery with Apache License 2.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #13
Source File: test_urllib.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 5 votes |
def test_splitport(self): splitport = urllib.splitport self.assertEqual(splitport('parrot:88'), ('parrot', '88')) self.assertEqual(splitport('parrot'), ('parrot', None)) self.assertEqual(splitport('parrot:'), ('parrot', None)) self.assertEqual(splitport('127.0.0.1'), ('127.0.0.1', None)) self.assertEqual(splitport('parrot:cheese'), ('parrot:cheese', None)) self.assertEqual(splitport('[::1]:88'), ('[::1]', '88')) self.assertEqual(splitport('[::1]'), ('[::1]', None)) self.assertEqual(splitport(':88'), ('', '88'))
Example #14
Source File: DLInfos.py From iqiyi-parser with MIT License | 5 votes |
def load(self, url): self.url = url self.protocol, s1 = splittype(self.url) s2, self.path = splithost(s1) self.host, port = splitport(s2) self.port = int(port) if port is not None else None if not self.port: if self.protocol == 'http': self.port = 80 elif self.protocol == 'https': self.port = 443 # self.headers = None
Example #15
Source File: DLInfos.py From iqiyi-parser with MIT License | 5 votes |
def __setattr__(self, key, value): object.__setattr__(self, key, value) if key == 'url': self.protocol, s1 = splittype(self.url) if s1: s2, self.path = splithost(s1) if s2: self.host, port = splitport(s2) self.port = int(port) if port is not None else None if not getattr(self, 'port', None): if self.protocol == 'http': self.port = 80 elif self.protocol == 'https': self.port = 443
Example #16
Source File: __init__.py From data with GNU General Public License v3.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #17
Source File: __init__.py From data with GNU General Public License v3.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #18
Source File: __init__.py From data with GNU General Public License v3.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #19
Source File: __init__.py From data with GNU General Public License v3.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #20
Source File: __init__.py From data with GNU General Public License v3.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #21
Source File: __init__.py From Sepia with GNU General Public License v2.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #22
Source File: test_urllib.py From CTFCrackTools with GNU General Public License v3.0 | 5 votes |
def test_splitport(self): splitport = urllib.splitport self.assertEqual(splitport('parrot:88'), ('parrot', '88')) self.assertEqual(splitport('parrot'), ('parrot', None)) self.assertEqual(splitport('parrot:'), ('parrot', None)) self.assertEqual(splitport('127.0.0.1'), ('127.0.0.1', None)) self.assertEqual(splitport('parrot:cheese'), ('parrot:cheese', None)) self.assertEqual(splitport('[::1]:88'), ('[::1]', '88')) self.assertEqual(splitport('[::1]'), ('[::1]', None)) self.assertEqual(splitport(':88'), ('', '88'))
Example #23
Source File: protocol.py From gglsbl with Apache License 2.0 | 5 votes |
def url_permutations(url): """Try all permutations of hostname and path which can be applied to blacklisted URLs """ def url_host_permutations(host): if re.match(r'\d+\.\d+\.\d+\.\d+', host): yield host return parts = host.split('.') l = min(len(parts), 5) if l > 4: yield host for i in range(l - 1): yield '.'.join(parts[i - l:]) def url_path_permutations(path): yield path query = None if '?' in path: path, query = path.split('?', 1) if query is not None: yield path path_parts = path.split('/')[0:-1] curr_path = '' for i in range(min(4, len(path_parts))): curr_path = curr_path + path_parts[i] + '/' yield curr_path protocol, address_str = urllib.splittype(url) host, path = urllib.splithost(address_str) user, host = urllib.splituser(host) host, port = urllib.splitport(host) host = host.strip('/') seen_permutations = set() for h in url_host_permutations(host): for p in url_path_permutations(path): u = '{}{}'.format(h, p) if u not in seen_permutations: yield u seen_permutations.add(u)
Example #24
Source File: __init__.py From earthengine with MIT License | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #25
Source File: binding.py From SplunkForPCAP with MIT License | 5 votes |
def _spliturl(url): scheme, opaque = urllib.splittype(url) netloc, path = urllib.splithost(opaque) host, port = urllib.splitport(netloc) # Strip brackets if its an IPv6 address if host.startswith('[') and host.endswith(']'): host = host[1:-1] if port is None: port = DEFAULT_PORT return scheme, host, port, path # Given an HTTP request handler, this wrapper objects provides a related # family of convenience methods built using that handler.
Example #26
Source File: test_urllib.py From ironpython2 with Apache License 2.0 | 5 votes |
def test_splitport(self): splitport = urllib.splitport self.assertEqual(splitport('parrot:88'), ('parrot', '88')) self.assertEqual(splitport('parrot'), ('parrot', None)) self.assertEqual(splitport('parrot:'), ('parrot', None)) self.assertEqual(splitport('127.0.0.1'), ('127.0.0.1', None)) self.assertEqual(splitport('parrot:cheese'), ('parrot:cheese', None)) self.assertEqual(splitport('[::1]:88'), ('[::1]', '88')) self.assertEqual(splitport('[::1]'), ('[::1]', None)) self.assertEqual(splitport(':88'), ('', '88'))
Example #27
Source File: __init__.py From faces with GNU General Public License v2.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #28
Source File: __init__.py From faces with GNU General Public License v2.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info
Example #29
Source File: binding.py From splunk-ref-pas-code with Apache License 2.0 | 5 votes |
def _spliturl(url): scheme, opaque = urllib.splittype(url) netloc, path = urllib.splithost(opaque) host, port = urllib.splitport(netloc) # Strip brackets if its an IPv6 address if host.startswith('[') and host.endswith(']'): host = host[1:-1] if port is None: port = DEFAULT_PORT return scheme, host, port, path # Given an HTTP request handler, this wrapper objects provides a related # family of convenience methods built using that handler.
Example #30
Source File: __init__.py From sndlatr with Apache License 2.0 | 5 votes |
def _get_proxy_info(self, scheme, authority): """Return a ProxyInfo instance (or None) based on the scheme and authority. """ hostname, port = urllib.splitport(authority) proxy_info = self.proxy_info if callable(proxy_info): proxy_info = proxy_info(scheme) if (hasattr(proxy_info, 'applies_to') and not proxy_info.applies_to(hostname)): proxy_info = None return proxy_info