Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. import asyncio
  2. import pymysql
  3. import json
  4. import requests
  5. import logging
  6.  
  7. logging.basicConfig(filename='log.txt',level=logging.INFO)
  8.  
  9. from proxybroker import Broker
  10.  
  11. counter = 0
  12.  
  13. def main():
  14. logging.info('MAIN METHOD CALLED')
  15. print('MAIN METHOD CALLED')
  16. proxies = asyncio.Queue()
  17. broker = Broker(proxies, timeout=4, limit=10)
  18. countries = ['FR','US','GB','DE','BE']
  19. tasks = asyncio.gather(
  20. broker.find(types=['HTTP', 'HTTPS'], post=True),
  21. show(proxies))
  22.  
  23. loop = asyncio.get_event_loop()
  24. loop.run_until_complete(tasks)
  25. main()
  26.  
  27. def proxyregister(ip, port, counter):
  28. connection = connection = pymysql.connect(host='localhost',
  29. user='',
  30. password='',
  31. db='',
  32. charset='utf8',
  33. cursorclass=pymysql.cursors.DictCursor)
  34. cursor = connection.cursor() # This line allows dictionary access.
  35.  
  36. logging.info(counter)
  37. print(counter)
  38.  
  39. 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) + '"')
  40. #print ('INSERT INTO free (ip, port) VALUES ("' + str(ip) + '", "' + str(port) + '") ON DUPLICATE KEY UPDATE ip="' + str(ip)+ '"') //debug line//
  41.  
  42. connection.commit() # connection does not autocommit by default
  43. cursor.close()
  44. connection.close()
  45.  
  46. def checkban (ip, port):
  47.  
  48. url_1 = 'https://pgorelease.nianticlabs.com/plfe/rpc'
  49. url_2 = 'https://sso.pokemon.com/sso/login?service=https%3A%2F%2Fsso.pokemon.com%2Fsso%2Foauth2.0%2FcallbackAuthorize'
  50. proxy = {'https': ip+":"+port, 'http': ip+" : "+port}
  51. 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'}
  52. error = [403]
  53. error2 = [409]
  54. timeout = 5
  55. global counter
  56.  
  57. try:
  58. 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:
  59. print('CHECK : Good')
  60. logging.info('CHECK : Good')
  61. counter = counter + 1 if counter < 301 else 1
  62. proxyregister(ip, port, counter)
  63. else:
  64. print('CHECK : BAN')
  65. logging.info('CHECK : Ban')
  66.  
  67.  
  68. except requests.exceptions.RequestException as e:
  69. logging.info('CHECK : Broke')
  70. print('CHECK : Broke')
  71.  
  72. async def show(proxies):
  73. while True:
  74. proxy = await proxies.get()
  75. if proxy is None: break
  76. print('Found proxy: %s' % proxy)
  77. logging.info('Found proxy: %s' % proxy)
  78. proxy = str(proxy)
  79. splitprox = proxy.split('] ')[1].split(">")[0].split(":")
  80. #print (proxy.split('] ')[1].split(">")[0].split(":")) //debug line//
  81. #print (splitprox[0]) //debug line//
  82. #print (splitprox[1]) //debug line//
  83. checkban(splitprox[0], splitprox[1])
  84.  
  85. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement