解决HTTP服务响应数据不完整响应数据截断的问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决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请求头的情况下保证数据发送完整
到此这篇关于HTTP服务响应数据不完整响应数据截断的⽂章就介绍到这了,更多相关HTTP响应数据截断内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。