Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import csv
- from threading import Thread
- from queue import Queue
- import logging
- import requests
- import urllib3
- def check_voter(fName, lName, bMonth, bYear, zCode):
- urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
- 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
- }
- payload = 'FirstName=' + fName + '&LastName=' + lName + \
- '&NameBirthMonth=' + bMonth + \
- '&NameBirthYear=' + bYear + '&ZipCode=' + zCode
- r = requests.post('https://mvic.sos.state.mi.us/Voter/SearchByName', data=payload, headers=headers)
- return r.text
- def pedeWorker():
- output = None
- deadPerson = None
- deadPerson = q.get()
- if deadPerson is not None:
- fName = deadPerson[0]
- lName = deadPerson[1]
- bMonth = deadPerson[2]
- bYear = deadPerson[3]
- zCode = deadPerson[4]
- output = check_voter(fName, lName, bMonth, bYear, zCode)
- if output is not None:
- if 'Yes, you are registered!' in output:
- logging.warning("[!] Fraudulent voter:" + str(deadPerson))
- else:
- pass
- #logging.warning("[+] No Match:" + str(deadPerson))
- q.task_done()
- if __name__ == '__main__':
- q = Queue()
- with open('test.csv') as f:
- read_csv = csv.reader(f, delimiter=",")
- for line in read_csv:
- q.put(line)
- f.close()
- q.put(None)
- for x in range(5):
- t = Thread(target=pedeWorker)
- t.daemon = True
- t.start()
- q.join()
RAW Paste Data