client.py Aaron 12000 HelloWorld.html GET
client.py
def main(argv):
serverName = argv[0]
serverPort = int(argv[1])
fileName = argv[2]
typeOfHttpRequest = argv[3]
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((serverName, serverPort))
clientSocket.send(typeOfHttpRequest + " " + fileName + " HTTP/1.1\r\n\r\n")
content = clientSocket.recv(1024)
print content
clientSocket.close()
if __name__ == "__main__":
main(sys.argv[1:])
server.py
while True:
#Establish the connection
print 'Ready to serve....'
connectionSocket, addr = serverSocket.accept()
try:
message = connectionSocket.recv(1024)
typeOfRequest = message.split()[0]
filename = message.split()[1]
print typeOfRequest
print filename
f = open(filename[1:])
outputdata = f.read()
if typeOfRequest == 'GET':
for i in range(0, len(outputdata)):
connectionSocket.send(outputdata[i])
connectionSocket.close()
elif typeOfRequest == 'HEAD':
connectionSocket.send(True)
except IOError:
connectionSocket.send('HTTP/1.1 404 Not Found')
connectionSocket.close()
serverSocket.close()
我已經把你好World.html與server.py位於同一目錄中,但這總是會產生IOError。任何人都知道爲什麼它可能是這種情況?
該文件位於C:\網絡
os.getcwd
示出了C:\網絡HelloWorld.html的位於C:/networking/HelloWorld.html
文件名打印正確。
並且文件名打印出來是否正確?即是給「open」正確的文件路徑 – 2015-02-09 08:57:17
將來,對於錯誤消息,請始終包含* full traceback *。 – 2015-02-09 08:58:45
你能告訴我們什麼'os.getcwd()'是你的服務器? – 2015-02-09 09:00:11