一次小优化——请求后台返回RTSP获取筛选

简介: 一次小优化——请求后台返回RTSP获取筛选

在做视觉的时候,需要通过请求海康后台得到RTSP值


流程


1.从数据库获取相机编码(相机编码都为海康平台提供)


2.发送POST请求相机编码(这部分单位里JAVA使用海康的包进行转接请求)


3.对返回的数据正则化获取RTSP(相机编码正确+请求接口正确)


返回数据样例:


分别为含有RTSP(正确)、data:None 、未查到相机编码


{'code': 200, 'data': '{"code":"0","msg":"success","data":{"url":"rtsp://202.110.241.70:556/openUrl/z3dTw08"}}'}
{'code': 200, 'data':'None'}
{'code': 200, 'data': '{"code":"0x01b01301","msg":"Camera not found. cameraIndexCode not found, cameraIndexCode=24f5fd1866dd4367ac3d3146bf96629b","data":null}'}

逐步改进:


起初以为返回参数是肯定是含有rtsp的,结果后面出现了:'data':'None' 现象,自己就加了个判别条件:

RestInfo = self.UrlHighAltitudeIndexCode + CamId
RestData = requests.post(RestInfo)
RestDataDict = RestData.json()
Datas = RestDataDict['data']
print(RestDataDict)
RTSP = None
if Datas is not None:
    Data_RestDataDict = ((eval(RestDataDict['data']))['data'])
    RTSP = Data_RestDataDict['url']
return RTSP

随着程序后面运行着报错,发现了:Camera not found. cameraIndexCode not found ,于是自己就又开始叠罗汉:

RestInfo = self.UrlHighAltitudeIndexCode + CamId
RestData = requests.post(RestInfo)
RestDataDict = RestData.json()
Datas = RestDataDict['data']
print(RestDataDict)
RTSP = None
if Datas is not None:
    EoorCode = "0x01b01301"
    RightCode = EoorCode in Datas
    print(CamId, RightCode)
    if RightCode is False:
        Data_RestDataDict = ((eval(RestDataDict['data']))['data'])
        RTSP = Data_RestDataDict['url']
return RTSP

感觉自己写的是坨粑粑,深恶痛及,不过还好这会还好是可以用的。


良久感觉不能写坨屎出来,就算是坨屎,那也得是懒洋洋。


截止目前的一版,可算是通过是否含有rtsp来筛选RTSP了


data = {'cameraIndexCode': CamId}
RestData = requests.post(self.UrlConstructionIndexCode, data=data)
RestDataDict = RestData.json()
# print(RestDataDict)
RTSP = None
RightInfo = "rtsp" in str(RestDataDict)
if RightInfo is True:
    Data_RestDataDict = ((eval(RestDataDict['data']))['data'])
    RTSP = Data_RestDataDict['url']
return RTSP

不知道还能再优化下不


相关文章
|
12天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
15 0
|
4月前
|
JSON 前端开发 JavaScript
关于我认识的请求方式
关于我认识的请求方式有三个
42 0
|
9月前
|
数据可视化 BI API
如何开放自己的API接口给他人调用并限制请求次数?
你将学到什么? 可以帮助你实现:将自己的API接入到果创云,然后创建子应用给到你的客户或你的开发者进行接口调用,并统计调用次数。平台暂时不支持线上结算,需要自己进行线下接口调用次数的内部结算。
|
5月前
|
JSON 监控 供应链
如果请求的商品不存在,如何处理?
在电商领域,了解商品详情对于消费者和商家来说都至关重要。消费者需要了解商品的具体信息以做出购买决策,而商家需要掌握商品详情来优化库存管理和营销策略。京东开放平台提供的商品详情 API 允许我们批量获取多个商品的详细信息。通过该 API,我们可以一次性查询多个商品,提高获取信息的效率,更好地满足业务需求。
|
10月前
|
JSON PHP 数据格式
响应 方式
响应 方式
|
11月前
|
测试技术
【解决方案 十】判断URL请求是否成功并检测访问效率
【解决方案 十】判断URL请求是否成功并检测访问效率
181 0
|
11月前
|
Web App开发 网络协议 安全
GET和POST方式请求API接口数据返回
GET和POST方式请求API接口数据返回
109 0
|
前端开发
后端一次性返回所有的数据,让前端截取展示做分页
后端一次性返回所有的数据,让前端截取展示做分页
259 0
|
SQL 消息中间件 RocketMQ
过滤消息的两种方式|学习笔记
快速学习过滤消息的两种方式
137 0
过滤消息的两种方式|学习笔记
多种网络请求方式 ,这么骚气的操作确定不来看看嘛?
兄弟们,网络真是个好东西,里面去个个都是人才,说话又好听,超喜欢在里面。 确实,网络已经是我们日常生活中密不可分的一部分了 那咱们今天就来讲讲Flutter里的网络。
多种网络请求方式 ,这么骚气的操作确定不来看看嘛?