ciao a tutti

stavo provando ad estrarre informazioni da dati ottenuti tramite socket.

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).

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.

Forse dovrei fare un loop fino al carattere di fine riga e salvare in una
lista, ma è il modo corretto di farlo?

questo è il mio codice:

#http://www.pythonlearn.com/code/intro-short.txt

import socket
import re

mysock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
mysock.connect(('www.pythonlearn.com', 80))
mysock.send ('GET http://www.pythonlearn.com/code/intro-short.txt
HTTP/1.0\n\n' )
d = ''

#Receive data from the socket. The return value is a bytes object
representing the data received
while True:
    data = mysock.recv(512)
    if (len(data)<1):
        break
    d += data
print(d)

stringdata = d.decode('utf-8')
print(stringdata)
for line in stringdata:
    print(line)
    matchLast = re.findall('^Last-Modified: (.+)', line)
    print(matchLast)       # i dati che cerco

mysock.close()

grazie
Luca
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a