我正在尝试在学校完成一个构建具有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,有人可以指导我调试此错误吗?谢谢
答案 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()