实现一个完整的 ONVIF 客户端需要处理 SOAP 通信、WS-Security 认证(通常是 UsernameToken 认证)、解析 XML 响应等。以下是一个使用 Go 语言实现的简化版 ONVIF 客户端示例,该客户端能够连接到 ONVIF 兼容的设备并获取设备信息 (GetDeviceInformation)。
注意: 这个示例假设设备使用基本的用户名/密码认证,并且未处理 HTTPS 的证书验证。如果设备使用 HTTPS,请确保正确处理证书,或在测试时跳过证书验证(不推荐在生产环境中使用)。
完整源码
package main
import (
"bytes"
"crypto/tls"
"encoding/xml"
"fmt"
"io/iou