解决HTTP服务响应数据不完整响应数据截断的问题
奔跑的男人 · 238浏览 · 发布于2022-03-04
这篇文章主要介绍了HTTP服务响应数据不完整响应数据截断的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
背景
大华一款摄像头Onvif协议响应的xml数据未携带命名空间导致Onvif协议服务解析失败,为了兼容这款摄像头决定对onvif_client进行修改忽略掉命名空间。由于本地没有出问题的摄像头,需要启动HTTP服务器模拟Onvif协议,接收Onvif客户端发送过来的http请求并响应。
问题
对onvif客户端的某一请求修改了ip和端口成功连接上HTTP服务器之后,请求成功,但是HTTP服务响应的xml数据被截断了,抓包显示HTTP服务器数据为发送完就关闭了连接。
oatpp搭建Onvif模拟服务:
解决方案
在领导的帮助下找到思路,原因是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
请求头的情况下保证数据发送完整
相关推荐
PHP实现部分字符隐藏
沙雕mars · 1327浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别
kenrry1992 · 909浏览 · 2019-05-08 21:14:54
5月语言排行榜:R 跌出前二十,Python 紧咬 C++
manongba · 690浏览 · 2019-05-09 17:27:24
Tomcat 下载及安装配置
manongba · 974浏览 · 2019-05-13 21:03:56
什么是SpringBoot
iamitnan · 1090浏览 · 2019-05-14 22:20:36
分类专栏
最新发布
最热排行
0评论