def get_proxy(self, index): """ Get a proxy object at a given index in de proxy file. So if you want the second proxy in de proxy file, you will need to call this method like this: get_proxy(1). The count starts at zero (same way as lists). :param index: index of the wanted proxy (int value) :return: The Proxy object at the given index """ address = self._reader.get_value('Address', index) port = self._reader.get_value('Port', index) proxy_type = self._reader.get_value('Type', index) # Only parse the authorization properties if Auth method is defined if self._reader.value_exists('Auth method'): auth_method = self._reader.get_value('Auth method', index) auth_user = self._reader.get_value('Username', index) auth_pass = self._reader.get_value('Password', index) proxy = ProxyFactory.create_proxy(address, port, proxy_type, auth_method=auth_method, username=auth_user, password=auth_pass) else: proxy = ProxyFactory.create_proxy(address, port, proxy_type) return proxy
def create_proxy(proxy_file_path): """ Creates a Proxy object. :param proxy_file_path: The path to the proxy file (can be None if you don't want to use a proxy) :return: This function can return different Proxies. The method will return a NoProxy object if the proxy_file _path is None, a MultiProxy object when the proxy file contain multiple proxy entries or a specific proxy object if here is only one proxy entry declared in the proxy file :raises ValueError: when the proxy file does not contain any proxy entries """ if proxy_file_path is not None: proxy_list = read_proxy_file(proxy_file_path) proxy_list_len = len(proxy_list) if proxy_list_len > 1: proxy = MultiProxy(proxy_list) elif proxy_list_len is 1: proxy = proxy_list[0] else: raise ValueError("No proxy's found in proxy file") else: proxy = ProxyFactory.create_proxy(proxy_name='no-proxy') return proxy