Guest User

Untitled

a guest
Jan 13th, 2014
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.04 KB | None | 0 0
  1. #!/usr/bin/python
  2. import socket, threading
  3. out = []
  4. lock = threading.Lock()
  5. total_thread = 200
  6. #Creat new out file
  7. open("out.txt", "w").close()
  8.  
  9. def worker(urls):
  10.     global out
  11.     print "Start thread"
  12.     for url in urls:
  13.         url = url.replace("http", "").strip()
  14.         s = socket.socket()
  15.         try:
  16.             s.connect((url, 80))
  17.         except:
  18.             print "Can't connect to "+url
  19.             continue
  20.         req = "GET / HTTP/1.1\r\n"
  21.         req += "Host: "+url+"\r\n"
  22.         req += "Content-type: text/html\r\n\r\n"
  23.         s.send(req)
  24.         res = s.recv(20)
  25.         s.close()
  26.         if(res.find("200") != -1 or res.find("302") != -1 or res.find("301") != -1):
  27.             print url+" Oke"
  28.             out.append(url)
  29.             wTf()
  30.  
  31. def wTf():
  32.     global out
  33.     if(len(out) > 400):
  34.         lock.acquire()
  35.         with open("out.txt", "a") as ff:
  36.             ff.write("\r\n".join(out))
  37.         out = []
  38.         print "LETS WRITE TO FILE!"
  39.         lock.release()
  40.  
  41. with open("urls.txt") as url:
  42.     qq = url.readlines()
  43.     arlen = len(qq)/total_thread
  44.     for i in xrange(total_thread):
  45.         tt = threading.Thread(target=worker, args=(qq[arlen*i:arlen*(i+1)],))
  46.         tt.start()
Advertisement
Add Comment
Please, Sign In to add comment