0
私はPython HTTPクライアントを作成しています。 以下のコードを入力すると、端末「リストのインデックスが範囲外です」からエラーメッセージが表示されます。sys.argv [1] IndexError:リストのインデックスが範囲外です
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
私は誰もが私のコードで間違っているものを私に示してもらえますか?
python ./client.py http://127.0.0.1 7000 HelloWorld.html
を入力して、コマンドラインからプログラムを実行しますか前もって感謝します。
私はこれですぐに間違って何も表示されません。 ./client.py 127.0.0.1 7000 HelloWorld.html – MikeTGW
argv [0] – haifzhan
あなたはコードをデバッグできますか?いいえ。単に 'sys.argv'を出力して何が起きているのかを確認してください。 –