#!/usr/bin/python import sys,time from socket import * if len(sys.argv)!= 4: #Test les argument .. print '\nUSAGE :<ip> <port> <fichier>' sys.exit(0) def read_all(s): #lit toute la requette tmp='' read='' i=1 while i: try: tmp=s.recv(1024) if len(tmp) ==0: break else: read+=tmp except: break if len(read) ==0: return 1 else: return read def read_header(h): #Lit l'header tmp='' for i in xrange(len(h)): if h[i] == '\r' and h[i+1]=='\n' and h[i+2] =='\r' and h[i+3]=='\n': #Fin de l'header break #on arrete la boucle else: tmp+=h[i] return tmp #return l'header def read_code(h): #lit tou ce qui ce trouve après l'header http tmp='' i=len(read_header(h))+4 #la taille de l'header sans les \r\n\r\n while (i<len(h)): #boucle de la fin de l'header a taille de la requette tmp+=h[i] i+=1 return tmp #return le reste #DEF VARIABLE .. ip = sys.argv[1] port = int(sys.argv[2]) fichier=sys.argv[3] SOCKET_TIMEOUT=1; #print '<ip>=%s'%ip #print '<port>=%s'%port #print '<fichier>=%s\n'%fichier try: s = socket(AF_INET, SOCK_STREAM) # Cree les socket ... s.settimeout(SOCKET_TIMEOUT) except: print 'Erreur creating socket ...' sys.exit(0) try: s.connect((ip,port)) # Connection .. except: print 'Erreur connecting ...' sys.exit(0) #Envoye des donne ... send='GET %s HTTP/1.1\r\nHost: %s\r\n\r\n'%(fichier,ip) s.send(send) read=read_all(s) if read != 1: #print '%s'%(read_header(read)) #Affiche l'header http print '%s'%(read_code(read)) #Affiche code html ou autre .. après l'header http else: print 'Erreur lecture ..' s.close()
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.