using Flurl; using Flurl.Http; using Newtonsoft.Json.Linq; using System; using System.Net.Http; namespace OnvifSocketServer { public class Program { public static void Main(string[] args) { Console.WriteLine("Hello World!"); TestOnvifUrl(); Console.ReadLine(); } public static void TestOnvifUrl() { string onvifHttpUrl = AppConfig.GetOnvifHttpUrl(); string onvifHttpsUrl = AppConfig.GetOnvifHttpsUrl(); Uri baseUri = new Uri(onvifHttpUrl); JObject result; Console.WriteLine(onvifHttpUrl); // Get result = baseUri.AbsoluteUri .AppendPathSegment("onvif/Curd/IsExist") .SetQueryParams(new { ip = "192.168.1.108" }) .GetAsync() .ReceiveJson().Result; Console.WriteLine(result); // Post result = baseUri.AbsoluteUri .AppendPathSegment("onvif/Curd/Add") .SetQueryParams(new { ip = "192.168.1.65", username = "admin", password = "hk123456" }) .PostAsync() .ReceiveJson().Result; Console.WriteLine(result); result = Request(baseUri, "onvif/Media/GetStreamUri", HttpMethod.Get, new { ip = "192.168.1.65" }); result = Request(baseUri, "onvif/Media/GetSnapshotUri", HttpMethod.Get, new { ip = "192.168.1.65" }); // Post result = Request(baseUri, "onvif/Curd/Add", HttpMethod.Post, new { ip = "192.168.1.108", username = "admin", password = "hk123456" }); result = Request(baseUri, "onvif/Media/GetStreamUri", HttpMethod.Get, new { ip = "192.168.1.108" }); result = Request(baseUri, "onvif/Media/GetSnapshotUri", HttpMethod.Get, new { ip = "192.168.1.108" }); } public static JObject Request(Uri uri, string relativePath, HttpMethod httpMethod, object data) { Url url = uri.AbsoluteUri.AppendPathSegment(relativePath).SetQueryParams(data); JObject result; if (httpMethod == HttpMethod.Get) { result = url.GetAsync().ReceiveJson().Result; } else if (httpMethod == HttpMethod.Post) { result = url.PostAsync().ReceiveJson().Result; } else if (httpMethod == HttpMethod.Put) { result = url.PutAsync().ReceiveJson().Result; ; } else if (httpMethod == HttpMethod.Delete) { result = url.DeleteAsync().ReceiveJson().Result; ; } else { result = null; } Console.WriteLine(result); return result; } } }