<div dir="ltr"><div><div><div><div>ciao a tutti<br><br></div>stavo provando ad estrarre informazioni da dati ottenuti tramite socket.<br><br></div>se faccio print dei dati che ottengo tutto è perfetto ma quando tento di estrarre i dati sembra che questi non siano come me li aspetto (cioè in righe di caratteri).<br><br></div>Io uso i dati come se aprissi un file e lo leggessi riga per riga (forse è quì che sbaglio), invece mi legge carattere per carattere, ma non saprei come altro fare. Mi date qualche spunto su cosa cercare perchè non riesco a trovare niente di utile, sulla documentazione di python usano repr(data) ma non ho ottenuto i risultati che speravo.<br><br></div><div>Forse dovrei fare un loop fino al carattere di fine riga e salvare in una lista, ma è il modo corretto di farlo?<br><br></div><div>questo è il mio codice:<br><br>#<a href="http://www.pythonlearn.com/code/intro-short.txt">http://www.pythonlearn.com/code/intro-short.txt</a><br><br>import socket<br>import re<br><br>mysock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)<br>mysock.connect(('<a href="http://www.pythonlearn.com">www.pythonlearn.com</a>', 80))<br>mysock.send ('GET <a href="http://www.pythonlearn.com/code/intro-short.txt">http://www.pythonlearn.com/code/intro-short.txt</a> HTTP/1.0\n\n' )<br>d = ''<br><br>#Receive data from the socket. The return value is a bytes object representing the data received<br>while True:<br>    data = mysock.recv(512)<br>    if (len(data)<1):<br>        break<br>    d += data<br>print(d)<br><br>stringdata = d.decode('utf-8')<br>print(stringdata)<br>for line in stringdata:<br>    print(line)<br>    matchLast = re.findall('^Last-Modified: (.+)', line)<br>    print(matchLast)       # i dati che cerco<br><br>mysock.close()<br><br></div><div>grazie<br></div><div>Luca<br></div></div>