尝试用Python构建Web服务器和客户端程序

时间:2019-03-02 01:33:17

标签: python webserver client-server

我正在尝试在学校完成一个构建具有GET,HEAD,PUT,DELETE功能的Web服务器和客户端程序的项目。当我尝试运行服务器时,客户端-服务器已连接,但是当我尝试在浏览器中打开它时,它显示为空响应,而在cmd上,它显示以下发布的错误

Successfully Connected 127.0.0.1:62690 Traceback (most recent call last): File "Server.py", line 72, in <module> file, fileName, userInput, httpVersion = [str(i) for i in request.decode('utf-8').split('||')] ValueError: not enough values to unpack (expected 4, got 1) 

我的server.py在https://gist.github.com/keyur2maru/564abe344f59ee4dd59ae42b7879a394,有人可以指导我调试此错误吗?谢谢

1 个答案:

答案 0 :(得分:0)

HTTP协议没有这样的事情,如服务器代码所期望的那样,以||作为分隔符的四个令牌的报头:

file, fileName, userInput, httpVersion = [str(i) for i in request.decode('utf-8').split('||')]

如果您希望浏览器能够与服务器交互,请修改服务器和客户端代码,使其符合HTTP protocol标准。典型的HTTP请求的示例应如下所示:

GET /path/file.html HTTP/1.0

因此您所讨论的服务器代码行应更像:

action, file, http_version = request.decode().split()