Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import asyncio
- import pymysql
- import json
- import requests
- import logging
- logging.basicConfig(filename='log.txt',level=logging.INFO)
- from proxybroker import Broker
- counter = 0
- def main():
- logging.info('MAIN METHOD CALLED')
- print('MAIN METHOD CALLED')
- proxies = asyncio.Queue()
- broker = Broker(proxies, timeout=4, limit=10)
- countries = ['FR','US','GB','DE','BE']
- tasks = asyncio.gather(
- broker.find(types=['HTTP', 'HTTPS'], post=True),
- show(proxies))
- loop = asyncio.get_event_loop()
- loop.run_until_complete(tasks)
- main()
- def proxyregister(ip, port, counter):
- connection = connection = pymysql.connect(host='localhost',
- user='',
- password='',
- db='',
- charset='utf8',
- cursorclass=pymysql.cursors.DictCursor)
- cursor = connection.cursor() # This line allows dictionary access.
- logging.info(counter)
- print(counter)
- cursor.execute('INSERT INTO free (row_id, ip, port) VALUES ('+str(counter)+',"' + str(ip) + '", "' + str(port) + '") ON DUPLICATE KEY UPDATE ip="' + str(ip) + '", port="' + str(port) + '"')
- #print ('INSERT INTO free (ip, port) VALUES ("' + str(ip) + '", "' + str(port) + '") ON DUPLICATE KEY UPDATE ip="' + str(ip)+ '"') //debug line//
- connection.commit() # connection does not autocommit by default
- cursor.close()
- connection.close()
- def checkban (ip, port):
- url_1 = 'https://pgorelease.nianticlabs.com/plfe/rpc'
- url_2 = 'https://sso.pokemon.com/sso/login?service=https%3A%2F%2Fsso.pokemon.com%2Fsso%2Foauth2.0%2FcallbackAuthorize'
- proxy = {'https': ip+":"+port, 'http': ip+" : "+port}
- headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'}
- error = [403]
- error2 = [409]
- timeout = 5
- global counter
- try:
- if requests.post(url_1, headers=headers, proxies=proxy, timeout=timeout).status_code not in error and requests.post(url_2, headers=headers, proxies=proxy, timeout=timeout).status_code not in error2:
- print('CHECK : Good')
- logging.info('CHECK : Good')
- counter = counter + 1 if counter < 301 else 1
- proxyregister(ip, port, counter)
- else:
- print('CHECK : BAN')
- logging.info('CHECK : Ban')
- except requests.exceptions.RequestException as e:
- logging.info('CHECK : Broke')
- print('CHECK : Broke')
- async def show(proxies):
- while True:
- proxy = await proxies.get()
- if proxy is None: break
- print('Found proxy: %s' % proxy)
- logging.info('Found proxy: %s' % proxy)
- proxy = str(proxy)
- splitprox = proxy.split('] ')[1].split(">")[0].split(":")
- #print (proxy.split('] ')[1].split(">")[0].split(":")) //debug line//
- #print (splitprox[0]) //debug line//
- #print (splitprox[1]) //debug line//
- checkban(splitprox[0], splitprox[1])
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement