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