Python urllib.request.HTTPHandler() Examples
The following are 30
code examples of urllib.request.HTTPHandler().
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.request
, or try the search function
.
Example #1
Source File: httpclient.py From opsbro with MIT License | 6 votes |
def delete(uri, params={}, headers={}): data = None # always none in GET if params: uri = "%s?%s" % (uri, urlencode(params)) url_opener = build_opener(HTTPHandler) req = Request(uri, data) req.get_method = lambda: 'DELETE' for (k, v) in headers.items(): req.add_header(k, v) request = url_opener.open(req) response = request.read() # code = request.code return response
Example #2
Source File: httpclient.py From opsbro with MIT License | 6 votes |
def post(uri, params={}, headers={}): data = None # always none in GET if params: # TODO: sure it's json and not urlencode? # data = urlencode(params) data = unicode_to_bytes(jsoner.dumps(params)) url_opener = build_opener(HTTPHandler) req = Request(uri, data) req.get_method = lambda: 'POST' for (k, v) in headers.items(): req.add_header(k, v) request = url_opener.open(req) response = request.read() # code = request.code return response
Example #3
Source File: httpclient.py From opsbro with MIT License | 6 votes |
def put(uri, data=None, params={}, headers=None): # data = None # always none in GET if headers is None: headers = {} if params: # TODO: sure it's json and not urlencode? # data = urlencode(params) uri = "%s?%s" % (uri, urlencode(params)) headers['Content-Type'] = 'your/contenttype' url_opener = build_opener(HTTPHandler) req = Request(uri, data) req.get_method = lambda: 'PUT' for (k, v) in headers.items(): req.add_header(k, v) request = url_opener.open(req) response = request.read() # code = request.code return response
Example #4
Source File: exposition.py From client_python with Apache License 2.0 | 6 votes |
def default_handler(url, method, timeout, headers, data): """Default handler that implements HTTP/HTTPS connections. Used by the push_to_gateway functions. Can be re-used by other handlers.""" def handle(): request = Request(url, data=data) request.get_method = lambda: method for k, v in headers: request.add_header(k, v) resp = build_opener(HTTPHandler).open(request, timeout=timeout) if resp.code >= 400: raise IOError("error talking to pushgateway: {0} {1}".format( resp.code, resp.msg)) return handle
Example #5
Source File: website_helper.py From aws-media-insights-engine with Apache License 2.0 | 6 votes |
def send_response(event, context, response_status, response_data): """ Send a resource manipulation status response to CloudFormation """ response_body = json.dumps({ "Status": response_status, "Reason": "See the details in CloudWatch Log Stream: " + context.log_stream_name, "PhysicalResourceId": context.log_stream_name, "StackId": event['StackId'], "RequestId": event['RequestId'], "LogicalResourceId": event['LogicalResourceId'], "Data": response_data }) LOGGER.info('ResponseURL: {s}'.format(s=event['ResponseURL'])) LOGGER.info('ResponseBody: {s}'.format(s=response_body)) opener = build_opener(HTTPHandler) request = Request(event['ResponseURL'], data=response_body.encode('utf-8')) request.add_header('Content-Type', '') request.add_header('Content-Length', len(response_body)) request.get_method = lambda: 'PUT' response = opener.open(request) LOGGER.info("Status code: {s}".format(s=response.getcode)) LOGGER.info("Status message: {s}".format(s=response.msg))
Example #6
Source File: app.py From aws-media-insights-engine with Apache License 2.0 | 6 votes |
def send_response(event, context, response_status, response_data): '''Send a resource manipulation status response to CloudFormation''' response_body = json.dumps({ "Status": response_status, "Reason": "See the details in CloudWatch Log Stream: " + context.log_stream_name, "PhysicalResourceId": context.log_stream_name, "StackId": event['StackId'], "RequestId": event['RequestId'], "LogicalResourceId": event['LogicalResourceId'], "Data": response_data }) logger.info('ResponseURL: %s', event['ResponseURL']) logger.info('ResponseBody: %s', response_body) opener = build_opener(HTTPHandler) request = Request(event['ResponseURL'], data=response_body.encode('utf-8')) request.add_header('Content-Type', '') request.add_header('Content-Length', len(response_body)) request.get_method = lambda: 'PUT' response = opener.open(request) logger.info("Status code: %s", response.getcode()) logger.info("Status message: %s", response.msg)
Example #7
Source File: __init__.py From panasonic-viera with MIT License | 5 votes |
def _do_custom_request( self, method, url, headers=None, timeout=10 ): opener = build_opener(HTTPHandler) req = Request(url, headers=headers, method=method) res = opener.open(req, timeout=timeout) status = res.status header = dict(res.info()) return status, header
Example #8
Source File: unixclient.py From opsbro with MIT License | 5 votes |
def get_local(u, local_socket, params={}, method='GET', timeout=10): UnixHTTPConnection.socket_timeout = timeout data = None special_headers = [] if method == 'GET' and params: u = "%s?%s" % (u, urlencode(params)) if method == 'POST' and params: data = string_encode(urlencode(params)) if method == 'PUT' and params: special_headers.append(('Content-Type', 'your/contenttype')) data = string_encode(params) # not the same way to connect # * windows: TCP # * unix : unix socket if os.name == 'nt': url_opener = build_opener(HTTPHandler) uri = 'http://127.0.0.1:6770%s' % u else: # unix url_opener = build_opener(UnixSocketHandler()) uri = 'unix:/%s%s' % (local_socket, u) logger.debug("Connecting to local http/unix socket at: %s with method %s" % (uri, method)) req = Request(uri, data) req.get_method = lambda: method for (k, v) in special_headers: req.add_header(k, v) request = url_opener.open(req) response = request.read() code = request.code return (code, response)
Example #9
Source File: teslajson.py From tesla-apiscraper with GNU Lesser General Public License v3.0 | 5 votes |
def __open(self, url, headers={}, data=None, baseurl=""): """Raw urlopen command""" if not baseurl: baseurl = self.baseurl req = Request("%s%s" % (baseurl, url), headers=headers) try: req.data = urlencode(data).encode('utf-8') # Python 3 except: try: req.add_data(urlencode(data)) # Python 2 except: pass # Proxy support if self.proxy_url: if self.proxy_user: proxy = ProxyHandler({'https': 'https://%s:%s@%s' % (self.proxy_user, self.proxy_password, self.proxy_url)}) auth = HTTPBasicAuthHandler() opener = build_opener(proxy, auth, HTTPHandler) else: handler = ProxyHandler({'https': self.proxy_url}) opener = build_opener(handler) else: opener = build_opener() resp = opener.open(req) charset = resp.info().get('charset', 'utf-8') return json.loads(resp.read().decode(charset))
Example #10
Source File: sockshandler.py From MailFail with MIT License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #11
Source File: urls.py From ansible-role-jenkins with Apache License 2.0 | 5 votes |
def __init__(self, unix_socket, **kwargs): urllib_request.HTTPHandler.__init__(self, **kwargs) self._unix_socket = unix_socket
Example #12
Source File: httpclient.py From opsbro with MIT License | 5 votes |
def get(self, uri, params={}, headers={}, with_status_code=False, timeout=10, user=None, password=None): data = None # always none in GET if params: uri = "%s?%s" % (uri, urlencode(params)) # SSL, user/password and basic # NOTE: currently don't manage ssl & user/password if uri.startswith('https://'): handler = HTTPSHandler(context=self.ssl_context) elif user and password: passwordMgr = HTTPPasswordMgrWithDefaultRealm() passwordMgr.add_password(None, uri, user, password) handler = HTTPBasicAuthHandler(passwordMgr) else: handler = HTTPHandler url_opener = build_opener(handler) req = Request(uri, data) req.get_method = lambda: 'GET' for (k, v) in headers.items(): req.add_header(k, v) request = url_opener.open(req, timeout=timeout) response = request.read() status_code = request.code request.close() if not with_status_code: return response else: return (status_code, response)
Example #13
Source File: sockshandler.py From SA-ctf_scoreboard with Creative Commons Zero v1.0 Universal | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #14
Source File: sockshandler.py From bazarr with GNU General Public License v3.0 | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #15
Source File: sockshandler.py From script.elementum.nova with Do What The F*ck You Want To Public License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #16
Source File: instabrute.py From BruteSploit with GNU General Public License v3.0 | 5 votes |
def check_proxy(q): """ check proxy for and append to working proxies :param q: """ if not q.empty(): proxy = q.get(False) proxy = proxy.replace("\r", "").replace("\n", "") try: opener = rq.build_opener( rq.ProxyHandler({'https': 'https://' + proxy}), rq.HTTPHandler(), rq.HTTPSHandler() ) opener.addheaders = [('User-agent', 'Mozilla/5.0')] rq.install_opener(opener) req = rq.Request('https://api.ipify.org/') if rq.urlopen(req).read().decode() == proxy.partition(':')[0]: proxys_working_list.update({proxy: proxy}) if _verbose: print(bcolors.OKGREEN + " --[+] ", proxy, " | PASS" + bcolors.ENDC) else: if _verbose: print(" --[!] ", proxy, " | FAILED") except Exception as err: if _verbose: print(" --[!] ", proxy, " | FAILED") if _debug: logger.error(err) pass
Example #17
Source File: instabrute.py From BruteSploit with GNU General Public License v3.0 | 5 votes |
def get_csrf(): """ get CSRF token from login page to use in POST requests """ global csrf_token print(bcolors.WARNING + "[+] Getting CSRF Token: " + bcolors.ENDC) try: opener = rq.build_opener(rq.HTTPHandler(), rq.HTTPSHandler()) opener.addheaders = [('User-agent', 'Mozilla/5.0')] rq.install_opener(opener) request = rq.Request('https://www.instagram.com/') try: # python 2 headers = rq.urlopen(request).info().headers except Exception: # python 3 headers = rq.urlopen(request).info().get_all('Set-Cookie') for header in headers: if header.find('csrftoken') != -1: csrf_token = header.partition(';')[0].partition('=')[2] print(bcolors.OKGREEN + "[+] CSRF Token :", csrf_token, "\n" + bcolors.ENDC) except Exception as err: print(bcolors.FAIL + "[!] Can't get CSRF token , please use -d for debug" + bcolors.ENDC) if _debug: logger.error(err) print(bcolors.FAIL + "[!] Exiting..." + bcolors.ENDC) exit(3)
Example #18
Source File: pipstrap.py From pipstrap with MIT License | 5 votes |
def hashed_download(url, temp, digest): """Download ``url`` to ``temp``, make sure it has the SHA-256 ``digest``, and return its path.""" # Based on pip 1.4.1's URLOpener but with cert verification removed. Python # >=2.7.9 verifies HTTPS certs itself, and, in any case, the cert # authenticity has only privacy (not arbitrary code execution) # implications, since we're checking hashes. def opener(using_https=True): opener = build_opener(HTTPSHandler()) if using_https: # Strip out HTTPHandler to prevent MITM spoof: for handler in opener.handlers: if isinstance(handler, HTTPHandler): opener.handlers.remove(handler) return opener def read_chunks(response, chunk_size): while True: chunk = response.read(chunk_size) if not chunk: break yield chunk parsed_url = urlparse(url) response = opener(using_https=parsed_url.scheme == 'https').open(url) path = join(temp, parsed_url.path.split('/')[-1]) actual_hash = sha256() with open(path, 'wb') as file: for chunk in read_chunks(response, 4096): file.write(chunk) actual_hash.update(chunk) actual_digest = actual_hash.hexdigest() if actual_digest != digest: raise HashError(url, path, actual_digest, digest) return path
Example #19
Source File: exposition.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def default_handler(url, method, timeout, headers, data): '''Default handler that implements HTTP/HTTPS connections. Used by the push_to_gateway functions. Can be re-used by other handlers.''' def handle(): request = Request(url, data=data) request.get_method = lambda: method for k, v in headers: request.add_header(k, v) resp = build_opener(HTTPHandler).open(request, timeout=timeout) if resp.code >= 400: raise IOError("error talking to pushgateway: {0} {1}".format( resp.code, resp.msg)) return handle
Example #20
Source File: instabrute.py From instabrute with GNU General Public License v3.0 | 5 votes |
def check_proxy(q): """ check proxy for and append to working proxies :param q: """ if not q.empty(): proxy = q.get(False) proxy = proxy.replace("\r", "").replace("\n", "") try: opener = rq.build_opener( rq.ProxyHandler({'https': 'https://' + proxy}), rq.HTTPHandler(), rq.HTTPSHandler() ) opener.addheaders = [('User-agent', 'Mozilla/5.0')] rq.install_opener(opener) req = rq.Request('https://api.ipify.org/') if rq.urlopen(req).read().decode() == proxy.partition(':')[0]: proxys_working_list.update({proxy: proxy}) if _verbose: print(bcolors.OKGREEN + " --[+] ", proxy, " | PASS" + bcolors.ENDC) else: if _verbose: print(" --[!] ", proxy, " | FAILED") except Exception as err: if _verbose: print(" --[!] ", proxy, " | FAILED") if _debug: logger.error(err) pass
Example #21
Source File: instabrute.py From instabrute with GNU General Public License v3.0 | 5 votes |
def get_csrf(): """ get CSRF token from login page to use in POST requests """ global csrf_token print(bcolors.WARNING + "[+] Getting CSRF Token: " + bcolors.ENDC) try: opener = rq.build_opener(rq.HTTPHandler(), rq.HTTPSHandler()) opener.addheaders = [('User-agent', 'Mozilla/5.0')] rq.install_opener(opener) request = rq.Request('https://www.instagram.com/') try: # python 2 headers = rq.urlopen(request).info().headers except Exception: # python 3 headers = rq.urlopen(request).info().get_all('Set-Cookie') for header in headers: if header.find('csrftoken') != -1: csrf_token = header.partition(';')[0].partition('=')[2] print(bcolors.OKGREEN + "[+] CSRF Token :", csrf_token, "\n" + bcolors.ENDC) except Exception as err: print(bcolors.FAIL + "[!] Can't get CSRF token , please use -d for debug" + bcolors.ENDC) if _debug: logger.error(err) print(bcolors.FAIL + "[!] Exiting..." + bcolors.ENDC) exit(3)
Example #22
Source File: sockshandler.py From script.elementum.burst with Do What The F*ck You Want To Public License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #23
Source File: sockshandler.py From vulscan with MIT License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #24
Source File: sockshandler.py From CloudFail with MIT License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #25
Source File: pipstrap.py From sugardough with Apache License 2.0 | 5 votes |
def hashed_download(url, temp, digest): """Download ``url`` to ``temp``, make sure it has the SHA-256 ``digest``, and return its path.""" # Based on pip 1.4.1's URLOpener but with cert verification removed def opener(): opener = build_opener(HTTPSHandler()) # Strip out HTTPHandler to prevent MITM spoof: for handler in opener.handlers: if isinstance(handler, HTTPHandler): opener.handlers.remove(handler) return opener def read_chunks(response, chunk_size): while True: chunk = response.read(chunk_size) if not chunk: break yield chunk response = opener().open(url) path = join(temp, urlparse(url).path.split('/')[-1]) actual_hash = sha256() with open(path, 'wb') as file: for chunk in read_chunks(response, 4096): file.write(chunk) actual_hash.update(chunk) actual_digest = actual_hash.hexdigest() if actual_digest != digest: raise HashError(url, path, actual_digest, digest) return path
Example #26
Source File: sockshandler.py From faces with GNU General Public License v2.0 | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #27
Source File: sockshandler.py From phpsploit with GNU General Public License v3.0 | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #28
Source File: httpbot.py From humblebundle with GNU General Public License v3.0 | 5 votes |
def __init__(self, base_url="", tag="", cookiejar=None, debug=False): self.tag = tag hh = urllib2.HTTPHandler( debuglevel=1 if debug else 0) hsh = urllib2.HTTPSHandler(debuglevel=1 if debug else 0) cp = urllib2.HTTPCookieProcessor(cookiejar) self._opener = urllib2.build_opener(hh, hsh, cp) scheme, netloc, path, q, f = urlparse.urlsplit(base_url, "http") if not netloc: netloc, _, path = path.partition('/') self.base_url = urlparse.urlunsplit((scheme, netloc, path, q, f))
Example #29
Source File: sockshandler.py From Google-Alfred3-Workflow with MIT License | 5 votes |
def __init__(self, *args, **kwargs): self.args = args self.kw = kwargs urllib2.HTTPHandler.__init__(self)
Example #30
Source File: Config.py From watchdog with Apache License 2.0 | 5 votes |
def getFile(cls, getfile, unpack=True): if cls.getProxy(): proxy = req.ProxyHandler({'http': cls.getProxy(), 'https': cls.getProxy()}) auth = req.HTTPBasicAuthHandler() opener = req.build_opener(proxy, auth, req.HTTPHandler) req.install_opener(opener) if cls.ignoreCerts(): ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE opener = req.build_opener(urllib.request.HTTPSHandler(context=ctx)) req.install_opener(opener) response = req.urlopen(getfile) data = response # TODO: if data == text/plain; charset=utf-8, read and decode if unpack: if 'gzip' in response.info().get('Content-Type'): buf = BytesIO(response.read()) data = gzip.GzipFile(fileobj=buf) elif 'bzip2' in response.info().get('Content-Type'): data = BytesIO(bz2.decompress(response.read())) elif 'zip' in response.info().get('Content-Type'): fzip = zipfile.ZipFile(BytesIO(response.read()), 'r') if len(fzip.namelist())>0: data=BytesIO(fzip.read(fzip.namelist()[0])) return (data, response) # Feeds