C# vb.net中的ONVIF GetSnapshotUri
我正在写一些软件,包括从工作中的摄像机下载JPG。 我已经编写并运行了软件的其余部分,但是为了能够支持更多的摄像头,我想使用ONVIF来请求snapshoturi。 我能够在Firefox中使用RESTClient成功地完成这项工作,但我不熟悉在vb.net中编写SOAP命令\响应 我发送相机url()的两个POST命令的主体如下所示: 第一个获得配置文件令牌:C# vb.net中的ONVIF GetSnapshotUri,c#,xml,vb.net,soap,onvif,C#,Xml,Vb.net,Soap,Onvif,我正在写一些软件,包括从工作中的摄像机下载JPG。 我已经编写并运行了软件的其余部分,但是为了能够支持更多的摄像头,我想使用ONVIF来请求snapshoturi。 我能够在Firefox中使用RESTClient成功地完成这项工作,但我不熟悉在vb.net中编写SOAP命令\响应 我发送相机url()的两个POST命令的主体如下所示: 第一个获得配置文件令牌: <?xml version="1.0" encoding="UTF-8"?> &l
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:trt="http://www.onvif.org/ver10/media/wsdl">
<soap:Body>
<trt:GetProfiles/>
</soap:Body>
</soap:Envelope>
然后,我获取该配置文件令牌并将其放入下一个命令中,在该命令中我请求一个snapshoturi:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:trt="http://www.onvif.org/ver10/media/wsdl"
xmlns:tt="http://www.onvif.org/ver10/schema">
<soap:Body>
<trt:GetSnapshotUri >
<trt:ProfileToken>102c707f-19d0-4a6f-b519-cea65e98c1f2</trt:ProfileToken>
</trt:GetSnapshotUri>
</soap:Body>
</soap:Envelope>
102c707f-19d0-4a6f-b519-cea65e98c1f2
这将返回:
<SOAP-ENV:Body>
<trt:GetSnapshotUriResponse>
<trt:MediaUri>
<tt:Uri>http://192.168.103.39/stw-cgi/video.cgi?msubmenu=snapshot&Profile=2&action=view</tt:Uri>
<tt:InvalidAfterConnect>false</tt:InvalidAfterConnect>
<tt:InvalidAfterReboot>false</tt:InvalidAfterReboot>
<tt:Timeout>PT0H0M0S</tt:Timeout>
</trt:MediaUri>
</trt:GetSnapshotUriResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
http://192.168.103.39/stw-cgi/video.cgi?msubmenu=snapshot&外形=2&;动作=视图
假的
假的
PT0H0M0S
现在,如果我能在vb.net(或c#)中以编程方式完成同样的事情,那就太好了。我就是不知道该怎么做