Ich schreibe einen Python HTTP-Client. Wenn ich den Code unten habe, bekomme ich eine Fehlermeldung vom Terminal "Listenindex außerhalb des Bereichs".sys.argv [1] IndexError: Listenindex außerhalb des Bereichs
from socket import *
import sys
server_host = sys.argv[1]
server_port = sys.argv[2]
filename = sys.argv[3]
host_port = "%s:%s" %(server_host, server_port)
try:
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.connect((server_host,int(server_port)))
header = {
"first_header" : "GET /%s HTTP/1.1" %(filename),
"Host": host_port,
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-US",
}
httpHeader = "\r\n".join("%s:%s" %(item,header[item]) for item in header)
print httpHeader
clientSocket.send("%s\r\n\r\n" %(httpHeader))
except IOError:
sys.exit(1)
final = ""
responseMessage = clientSocket.recv(1024)
while responseMessage:
final += responseMessage
responseMssage = clientSocket.recv(1024)
clientSocket.close()
print "final:",final
Ich betreibe das Programm von der Kommandozeile von
python ./client.py http://127.0.0.1 7000 HelloWorld.html
eingeben jemand mir zeigen konnte, was mit meinem Code falsch? Danke im Voraus.
ich damit nichts sehen sofort falsch nicht. Versuchen Sie es wie folgt auszuführen: ./client.py 127.0.0.1 7000 HelloWorld.html – MikeTGW
es beginnt mit argv [0] – haifzhan
Sie können Ihren Code debuggen, nein? Einfach sys.argv ausdrucken und sehen, was passiert –