def __init__(self, threadID, name, connect): threading.Thread.__init__(self) self.threadID = threadID self.objectstaken = 0 self.name = name self.connect = connect self.socke = sock.mysocket() self.socke.connect(connect[0],connect[1])
def threadfunction(thread,val,objects): objectsleft = len(val) print objectsleft while objectsleft>0: j=0 s = len(val) socke = sock.mysocket() socke.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) k = val[0] req=k['request'] url=urlparse(req['url']) HOST=url.netloc path=url.path key='connection' if key in k: PORT=int(k['connection']) else: PORT=80 #socke.connect(HOST,PORT) for l in range(s-objectsleft,s): i=val[l] j+=1 if(j==objects): objectsleft-=j break if (l==s-1): objectsleft=0 req=i['request'] url=urlparse(req['url']) HOST=url.netloc path=url.path request=req['method']+" "+path+" " + req['httpVersion']+"\r\n" for head in req['headers']: request+=head['name']+":"+head['value']+CRLF socke.mysend(request) result = socke.myreceive() filename="dump/"+HOST+path if path == "/": filename = "dump/"+HOST+".html" if not os.path.exists(os.path.dirname(filename)): os.makedirs(os.path.dirname(filename)) f=open(filename,'w') f.write(result) pattern = '[C][o][n][t][e][n][t][-][T][y][p][e][:].*\r\n\r\n' x = re.split(pattern,result) if(len(x) == 1): result=x[0] else : result=x[1] print result.split("HTTP/1.")[0] f.write(result.split("HTTP/1.")[0]) f.close() socke.sock.close()
import sys import socket from struct import * from sock import mysocket to = "" if len(sys.argv) > 2: to = sys.argv[2] s = mysocket() leng = len(to) + 2 s.connect(sys.argv[1], 64) s.mysend(pack("<H", 0xFF21)) #s.mysend(pack("<HH", leng, 1)) #s.mysend(to) s.mysend(pack("<H", 0)) s.sock.shutdown(0) s.sock.close()
import socket import sock connection = sock.mysocket() connection.connect("www.iitd.ac.in",80) f=open("request",'r') connection.mysend(f.read()) a= connection.myreceive() connection.mysend(f.read()) b=connection.myreceive() print len(a),len(b)
import socket import sock import sys s = sock.mysocket() s.sock.connect(('localhost',int(sys.argv[1]))) s.sock.send("yoyoy\n") s.sock.shutdown(socket.SHUT_RDWR) s.sock.connect(('localhost',int(sys.argv[1]))) s.sock.send("yoyoy010\n")