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

问题描述 投票:1回答:1

我正在学校完成一个项目,用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任何人都可以指导我调试此错误?谢谢

python webserver client-server
1个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.