我尝试使用参数列表运行TCP客户端。我不想每次输入变量" host"和" port"所以我希望我的程序从列表中取出它。但是当我开始它时,我发现了错误" name' host'没有定义 命名"和" name' port'没有定义" (它只有在我宣布"主持人"和#34;端口"我自己时才会工作。我把它全部放在主要部分,为什么它没有看到这两个变量的声明?
import socket
import sys
import getopt
if __name__ == '__main__':
arguments = sys.argv[1:]
argumentList = getopt.getopt(arguments, 'h:p:')[0]
for arg, val in argumentList:
if arg == '-h':
host = val
if arg == '-p':
port = int(val)
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((host, port))
client.send('GET / HTTP/1.1\r\nHost: {0}\r\n\r\n'.format(host))
print client.recv(1024)