c#如何登陆海康前端设备isapi
时间: 2024-01-15 14:01:38 浏览: 30
葱是一种常见的食材,被广泛应用于烹饪中。它具有独特的芳香和辛辣味道,能够为菜肴增添口感和风味。葱在世界各地都有种植和使用,并且有许多品种可以选择。葱的外观通常是长长的绿色叶子和白色的圆葱头。葱不仅可以作为调味品使用,还可以作为独立的蔬菜进行烹饪。
葱的营养价值非常高。它富含维生素C、维生素K和叶酸等多种维生素,对维护健康的皮肤、免疫系统和心血管系统有益。此外,葱还含有许多矿物质,如钾、镁和磷,对维持正常的细胞功能和骨骼健康至关重要。莱葱中的硫化物还具有抗癌和抗炎作用,有助于预防疾病。
葱在烹饪中有各种用途。它可以作为主料炒菜、炖肉和煲汤,也可以作为配料腌制或调味。葱可以使菜肴更加香味浓郁,同时也能调整菜肴的口感和口味。葱炒鸡蛋和葱油面是中国的传统美食,这些菜品不仅好吃,还富含营养。
在中医中,葱被认为具有一定的药用价值。葱被认为具有散寒、解表、发汗、消食和驱虫等功能。例如,在感冒和风寒引起的身体不适时,可以通过葱的食用或外用来缓解症状。此外,葱还有助于促进食欲、消化和减肥。
总之,葱是一种常见且重要的食材,不仅可以为菜肴增添风味,还具有丰富的营养价值和药用价值。无论是烹饪还是药用,葱都是我们日常生活中不可或缺的一部分。
相关问题
c# 通过海康ISAPI 获取人脸数据
通过海康ISAPI获取人脸数据需要进行以下步骤:
1. 使用HttpClient或WebRequest向海康设备的ISAPI接口发送请求,获取到需要的数据。
2. 使用Base64解码将数据转换为二进制格式。
3. 将二进制数据转换为图片格式。
以下是一个获取人脸数据的示例代码:
```csharp
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Script.Serialization;
public class FaceData
{
public string faceUrl { get; set; }
public string faceData { get; set; }
}
class Program
{
static void Main(string[] args)
{
string url = "http://ipaddress/ISAPI/Intelligent/FDLib/FaceDataRecord?format=json&FDID=1&startTime=20210101000000&endTime=20211231235959";
string username = "admin";
string password = "password";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
string authInfo = username + ":" + password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
JavaScriptSerializer serializer = new JavaScriptSerializer();
FaceData[] faceDataList = serializer.Deserialize<FaceData[]>(responseString);
foreach (FaceData faceData in faceDataList)
{
byte[] imageData = Convert.FromBase64String(faceData.faceData);
using (MemoryStream ms = new MemoryStream(imageData))
{
System.Drawing.Image image = System.Drawing.Image.FromStream(ms);
image.Save(faceData.faceUrl);
}
}
}
}
```
在上面的示例代码中,我们向设备的ISAPI接口发送了一个GET请求来获取人脸数据记录,将返回的JSON数据反序列化成FaceData数组,然后将FaceData中的faceData字段进行Base64解码,将解码后的二进制数据转换为图片格式,并将图片保存到本地指定的路径中。请注意替换示例代码中的IP地址、用户名和密码以及保存图片的路径等信息。
c# 获取海康ISAPI布防 类
获取海康ISAPI布防类的C#代码如下:
```csharp
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml;
using System.Security.Cryptography.X509Certificates;
using System.Net.Security;
namespace HikvisionISAPI
{
public class HikvisionISAPI
{
private string _ip;
private string _port;
private string _username;
private string _password;
private string _sessionID;
//构造函数
public HikvisionISAPI(string ip, string port, string username, string password)
{
_ip = ip;
_port = port;
_username = username;
_password = password;
_sessionID = string.Empty;
}
//获取登录会话ID
private void GetSessionID()
{
string url = string.Format("https://{0}:{1}/ISAPI/Security/sessionLogin", _ip, _port);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string postData = string.Format("username={0}&password={1}", _username, _password);
byte[] data = Encoding.UTF8.GetBytes(postData);
request.ContentLength = data.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
XmlNode node = xmlDoc.SelectSingleNode("//SessionID");
if (node != null)
{
_sessionID = node.InnerText;
}
}
//获取布防状态
public string GetAlarmStatus(string channelID)
{
if (string.IsNullOrEmpty(_sessionID))
{
GetSessionID();
}
string url = string.Format("https://{0}:{1}/ISAPI/Event/notification/alertStream/{2}", _ip, _port, channelID);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/xml";
request.Headers.Add("Authorization", "Session " + _sessionID);
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string responseContent = string.Empty;
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
responseContent = reader.ReadToEnd();
}
return responseContent;
}
//检查证书
private bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
}
}
```
使用方法:
```csharp
//创建 HikvisionISAPI 实例
HikvisionISAPI hik = new HikvisionISAPI("192.168.1.100", "80", "admin", "12345");
//获取通道ID为1的布防状态
string alarmStatus = hik.GetAlarmStatus("1");
Console.WriteLine(alarmStatus);
```
需要注意的是,在调用GetSessionID方法时,需要根据实际情况修改ISAPI的登录接口地址。同时,在请求时需要添加Authorization头部,其值为Session+空格+SessionID。另外,在使用GetAlarmStatus方法获取布防状态时,需要将通道ID作为参数传入。