当前位置: 首页 > 知识库问答 >
问题:

连接到python web服务器时无限加载页面

米迪
2023-03-14

我使用python编写了一个简单的超文本传输协议Web服务器,但我注意到当我连接到它时,html页面出现在浏览器窗口中,但chrome选项卡中的指示器继续旋转,服务器收到空字符串。这种情况一直持续到我单击“X”停止加载页面。有人能解释为什么会发生这种情况以及如何解决这个问题吗?此外,如果超文本传输协议标头错误或我错过了重要的标头,请告诉我。我发现很难找到有关超文本传输协议标头和命令的信息。

您可以在这里找到代码。

链接到网络选项卡的图像

控制台输出:

套接字已创建
绑定套接字
套接字正在监听
连接127.0.0.1:55146
连接127.0.0.1:55147接收数据:GET/HTTP/1.1
主机:localhost
连接:保持活力
接受:text/html, Application/xhtml xml, Application/xml; q=0.9, image/webp,/; q=0.8
User-Agent: Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/33.0.1750.154Safari /537.36
DNT: 1
Accept-Encode: gzip, flate, sdch
接受语言:en-GB, en-US; q=0.8, en; q=0.6



解析GET命令
客户端请求的目录/index.html与HTTP版本1.1
html
/index.html


HTTP/1.1 200确定内容类型:文本/html;charset=UTF-8服务器:Max的Python Web服务器/1.0缓存控制:最大年龄=600,公共


接127.0.0.1:55148接收数据:
接收数据:
接收数据:
接收数据:
接收数据:

共有1个答案

田骁
2023-03-14

你的错在于你怎么看待插座:

<代码>插座。recv将永远等待来自客户端的数据

这里不需要循环
但是,您的请求将受到recv参数的限制
但如果要允许任何大小请求,则应通过HTTP规范检测数据的结尾。

例如,如果只等待标题,则双线换行表示它们结束
和正文的大小(例如,对于POST方法)应该通过我知道的内容长度标题传递。

您的问题与此问题中的问题相同:如果您想创建正确的HTTP服务器,请链接并搜索HTTP规范。

 类似资料:
  • 我正在尝试连接两个docker容器,一个是posgresql,另一个是python flask应用程序。两者都链接正确,python应用程序中的所有连接变量都直接取自postgres容器中通过链接公开的连接变量,并且与检查postgresql容器时发现的连接变量相同。当我将psql与连接字符串中的精确参数一起使用时,即: 成功连接到postgres容器中的数据库,因此我知道postgres正在通过

  • 在日志屏幕中,我得到一个错误:

  • 我在设置打开班次时遇到问题,并在连接到我的服务器域后收到以下错误: 我不确定这是在告诉我做什么。我尝试按字面意思使用指令,但它无法识别命令。 有什么想法吗?

  • 问题内容: 我不确定如何解决此问题 我不知道为什么在尝试以下操作时会出现此错误: 当我尝试连接到postgres时: 问题答案: 可能是一些问题: PostgreSQL没有运行。用sudo检查 你的PostgresSQl不在端口5432上运行。你可以检查其键入 尝试连接到数据库时出现错误,例如用户名,密码或数据库名。检查它们是否是postgres要求你连接的对象,并且这是你要访问的db_name。

  • 在我做了和之后,我的postgres遇到了一些问题。我试着卸载postgres并重新安装它,但它并没有那么好用。 这就是我所做的: 现在,在我重新安装homebrew之后,当我使用时,它不显示任何错误消息。 但是我在我的Rails应用程序中运行,它显示: 更新 这对我也管用。