HTTP服务响应数据不完整响应数据截断解决方法
2023-09-11 14:18:27 时间
大华一款摄像头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
请求头的情况下保证数据发送完整。
相关文章
- HTTP请求和响应格式
- 【开发者portal在线开发插件系列五】命令的响应,即命令结果的上报(mid的使用)
- Node.js之HTTP请求与响应
- 【Teradata】系统吞吐量重要参数QPS(TPS)、并发数、响应时间
- ECS Windows 系统蓝屏 (BSOD) 以及停止响应 (Hang) 的处理
- 使用jquery的方法和技巧2,点击多选框的jquery响应
- Qt音视频开发08-ffmpeg内核优化(极速打开/超时回调/实时响应)
- 【代码】使用ReentrantLock还可以调用lockInterruptibly方法,可以对线程interrupt方法做出响应
- localsandbox 如何响应tile点击事件
- Atitit 返回http500返回码,以及自定义返回提示 目录 1. 可以看到从php发送http响应代码的三种方法:1 1.1. Header("HTTP/1.1 404 Not Found"
- SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误的试读版
- 微信小程序开发系列 (三) :微信小程序如何响应用户点击事件和微信平台 API 的使用方法介绍
- QML 信号与响应方法的总结
- 实现Label的鼠标点击响应,以及获取焦点后改变颜色
- MDNS DDoS 反射放大攻击——攻击者假冒被攻击者IP向网络发送DNS请求,域名为“_services._dns-sd._udp.local”,这将引起本地网络中所有提供服务的主机都向被攻击者IP发送DNS响应,列举网络中所有服务
- HTTP之原理,长短连接,响应码,三握四挥,八种方法