Ich bin neu bei Python und ich habe versucht, die folgende Übung herauszufinden.python retrieving web data
Übung 5: (Erweitert) Ändern Sie das Socket-Programm so, dass es nur Daten zeigt, nachdem die Header und eine Leerzeile empfangen wurden. Denken Sie daran, dass Recv Zeichen (Zeilenumbrüche und alle) empfängt, keine Zeilen.
ich unter dem Code angebracht kam ich mit, leider glaube ich nicht daran zu arbeiten:
import socket
mysocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
mysocket.connect(('data.pr4e.org', 80))
mysocket.send('GET http://data.pr4e.org/romeo.txt HTTP/1.0\r\n\r\n'.encode())
count=0
while True:
data = mysocket.recv(200)
if (len(data) < 1): break
count=count+len(data.decode().strip())
print(len(data),count)
if count >=399:
print(data.decode(),end="")
mysocket.close()
Ich werde die Partition studieren, wie ich immer auf Split konzentriert habe. – PythonLearner
@ PythonLearner1977 können Sie 'resp.split ('\ r \ n \ r \ n', 1) [1]' verwenden (das Argument '1' teilt es auf, um nur einen Split auszuführen), um das gleiche Ergebnis zu erhalten . Ich mag nur "Partition", keinen anderen Grund, es speziell zu verwenden. –