感谢所有人解决我的第一个问题。但是最后一个问题。
#import socket module
import sys
import httplib
from socket import *
serverName = sys.argv[1]
serverPort = int(sys.argv[2])
filename = sys.argv[3]
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.connect((serverName,serverPort))
clientSocket.send("GET /filename")
while True:
data = clientSocket.recv(1024)
if not data:
break
print data,filename
clientSocket.close()
最后,我无法收到带有特定filname的内容。我认为这一点在" /" 我怎么解决?
答案 0 :(得分:1)
此程序是否与HTTP服务器通信?
然后,它应该发送两次CR + LF以正确表示HTTP头的结束。
clientSocket.send("GET /{}\r\n\r\n".format(filename))
答案 1 :(得分:1)
您是否尝试过使用python requests套餐?
无论哪种方式,你都有问题:
clientSocket.send("GET /filename")
应该(至少)是:
clientSocket.send("GET /%s" % filename)
当您在字符串中写filename
时,它不会将其评估为变量filename
,而是需要使用string formatting