HTTP服务响应数据不完整响应数据截断解决方法

大华一款摄像头Onvif协议响应的xml数据未携带命名空间导致Onvif协议服务解析失败,为了兼容这款摄像头决定对onvif_client进行修改忽略掉命名空间。由于本地没有出问题的摄像头,需要启动HTTP服务器模拟Onvif协议,接收Onvif客户端发送过来的http请求并响应。

问题

对onvif客户端的某一请求修改了ip和端口成功连接上HTTP服务器之后,请求成功,但是HTTP服务响应的xml数据被截断了,抓包显示HTTP服务器数据为发送完就关闭了连接。

解决方案

在领导的帮助下找到思路,原因是onvif客户端发送的http请求未携带keep-alive头,导致该http连接不是长连接,HTTP服务端主动关闭。 查看HTTP服务器源码,查找keep-alive

grep -rn "keep-alive" ./

找到关键信息If the connection header is present in the request and its value isn't keep-alive, then close

查看源码

找到关键代码,注释掉close标识即可在未携带keep-alive请求头的情况下保证数据发送完整。

posted @   很酷的站长  阅读(285)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
在线工具网 在线工具箱 国学字典
点击右上角即可分享
微信分享提示