Text nicht abrufbar mit Sockets

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Torben545
User
Beiträge: 2
Registriert: Sonntag 27. August 2017, 12:48

Hallo allerseits,

meein erster Post hier :) Ich arbeite mich momentan in python rein, mit Python for Informatics. Im Kapitel "Networked Programs" komme ich bei einem Fehler nicht weiter, obwohl ich den Code 1:1 abgetippt habe. Es geht darum, Romeo und Julia printen zu lassen. Es funktioniert mit der zweiten Version im Buch:

Code: Alles auswählen

import urllib
fhand = urllib.urlopen('http://www.py4inf.com/code/romeo-full.txt')
for line in fhand:
	print line.rstrip()

Aber nicht mit der ersten:

Code: Alles auswählen

import socket

mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('www.py4inf.com', 80))
mysock.send('GET http://www.py4inf.com/code/romeo-full.txt HTTP/1.0\n\n')

while True:
	data = mysock.recv(512)
	if ( len(data) < 1 ) :
		break
	print data
mysock.close()
Ich habe selbst nach stundenlanger Recherche keine Antowrt gefunden, im Terminal erscheint nur ein HTML für 404 not found, obwohl es der gleiche Link ist. Für Hilfe wäre ich dankbar :)

LG
Zuletzt geändert von Anonymous am Sonntag 27. August 2017, 13:12, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@Torben545: Im ersten Beispiel steht hinter dem GET die volle URL, inklusive Schema und Domain, da gehört aber nur der Pfad hin. Hat das Buch keine Webseite mit Errata?
BlackJack

Apropos stundenlange Recherche: Zu technischen Themen findet man bei Wikipedia in der Regel Artikel und weitere Links zum Thema, insbesondere Spezifikationen. So auch für das Hypertext Transfer Protokoll (HTTP) und dort dann auch ein Beispiel wie eine Anfrage funktioniert.
Torben545
User
Beiträge: 2
Registriert: Sonntag 27. August 2017, 12:48

Ok, vielen Dank! Les ich mir mal alles in Ruhe durch :) Ne, das Buch hat sowas nicht. AUf Wikipedia bin ich noch nicht gekommen :oops: :roll: hab nur auf Stackoverflow die Themen gewühlt und bin bei Google nur auf mir unverständliche Ergebnisse gekommen :K
Antworten