using System.Net; namespace DahuaIPCRename { internal class Program { public static Dictionary listIPC = new Dictionary { {"172.22.10.135","Этаж 2|Пом. 264"}, {"172.22.10.136","Этаж 2|Эвак.выход лев"}, {"172.22.10.137","Этаж 2|Ресепшн"}, {"172.22.10.138","Этаж 2|Пом. 269-1"}, {"172.22.10.139","Этаж 2|Пом. 268-2"}, {"172.22.10.140","Этаж 2|Пом. 271"}, {"172.22.10.141","Этаж 2|Пом. 269-3"}, {"172.22.10.142","Этаж 2|Пом. 272"}, {"172.22.10.143","Этаж 2|Пом. 228-1"}, {"172.22.10.144","Этаж 2|Пом. 269-2"}, {"172.22.10.145","Этаж 2|Пом. 228-2"}, {"172.22.10.146","Этаж 2|Пом. 255"}, {"172.22.10.147","Этаж 2|Пом. 229-3"}, {"172.22.10.148","Этаж 2|Эвак.выход прав"}, {"172.22.10.149","Этаж 2|Пом. 229-2"}, {"172.22.10.150","Этаж 2|Пом. 254"}, {"172.22.10.151","Этаж 2|Пом. 229-1"}, {"172.22.10.152","Этаж 2|Пом. 248-7"}, {"172.22.10.93","Этаж 3|Пом.319-столовая"}, {"172.22.10.94","Этаж 3|Пом.313-1"}, {"172.22.10.95","Этаж 3|Пом.321-1"}, {"172.22.10.96","Этаж 3|Коридор от лифт. холла"}, {"172.22.10.97","Этаж 3|Пом.321-2"}, {"172.22.10.98","Этаж 3|Коридор к лифт. холлу"}, {"172.22.10.99","Этаж 3|Пом.313-2"}, {"172.22.10.100","Этаж 3|Пом.323-2"}, {"172.22.10.101","Этаж 3|Пом.323-1"}, {"172.22.10.102","Этаж 3|Эвак. Выход"}, {"172.22.10.103","Этаж 3|Кроссовая"}, {"172.22.10.104","Этаж 3|Пом.304-1"}, {"172.22.10.105","Этаж 3|Пом.304-2"}, {"172.22.10.106","Этаж 3|Пом.312"}, {"172.22.10.107","Этаж 2|Пом.237"}, {"172.22.10.108","Этаж 5|Пом.519-2"}, {"172.22.10.109","Этаж 2|Пом.244-1"}, {"172.22.10.110","Этаж 2|Пом.244-2"}, {"172.22.10.111","Этаж 2|Пом.245(окно)"}, {"172.22.10.112","Этаж 2|Пом.245-2"}, {"172.22.10.113","Этаж 2|Пом.245-1"}, {"172.22.10.114","Этаж 1|Склад-2"}, {"172.22.10.115","Этаж 5|Пом.544"}, {"172.22.10.116","Этаж 1|Пом.ЦОД-1"}, {"172.22.10.117","Этаж 2|Пом.239-1"}, {"172.22.10.118","Этаж 1|Пом.ЦОД-2"}, {"172.22.10.119","Этаж 1|Пом.ИБП"}, {"172.22.10.120","Этаж 1|Склад-1"}, {"172.22.10.121","Этаж 2|Пом.239-2"}, {"172.22.10.122","Этаж 2|Пом. 247"}, {"172.22.10.123","Этаж 2|Пом. 248-4"}, {"172.22.10.124","Этаж 2|Пом. 248-5"}, {"172.22.10.125","Этаж 2|Пом. 248-2"}, {"172.22.10.126","Этаж 2|Пом. 248-6"}, {"172.22.10.127","Этаж 2|Пом. 248-3"}, {"172.22.10.128","Этаж 2|Пом. 237-1"}, {"172.22.10.129","Этаж 2|Пом. 268-1"}, {"172.22.10.130","Этаж 2|Пом. 237-2"}, {"172.22.10.131","Улица-2"}, {"172.22.10.132","Улица-3"}, {"172.22.10.133","Улица-1"}, {"172.22.10.134","Улица-4-PTZ"}, {"172.22.10.51","Этаж 5|Пом.545-2"}, {"172.22.10.52","Этаж 5|Пом.519-1"}, {"172.22.10.53","Этаж 5|Пом.511-1"}, {"172.22.10.54","Этаж 5|Пом.517-2"}, {"172.22.10.55","Этаж 5|Эвак. Выход-3"}, {"172.22.10.56","Этаж 5|Пом.545-коридор"}, {"172.22.10.57","Этаж 5|Ресепшн-1"}, {"172.22.10.58","Этаж 5|Пом.545-3"}, {"172.22.10.59","Этаж 5|Пом.521-3"}, {"172.22.10.60","Этаж 5|Пом.535 к лифтам"}, {"172.22.10.61","Этаж 5|Пом.515-2"}, {"172.22.10.62","Этаж 5|Пом.511-2"}, {"172.22.10.63","Этаж 5|Пом.517-1"}, {"172.22.10.64","Этаж 5|Пом.521-1"}, {"172.22.10.65","Этаж 5|Пом.535-коридор"}, {"172.22.10.66","Этаж 5|Пом.526-столовая"}, {"172.22.10.67","Этаж 5|Пом.545-4"}, {"172.22.10.68","Этаж 5|Пом.532-2"}, {"172.22.10.69","Этаж 5|Пом.515-1"}, {"172.22.10.70","Этаж 5|Пом.535-1"}, {"172.22.10.71","Этаж 5|Эвак. Выход-2"}, {"172.22.10.72","Этаж 5|Пом.545-1"}, {"172.22.10.73","Этаж 5|Ресепшн-2"}, {"172.22.10.74","Этаж 5|Пом.521-2"}, {"172.22.10.75","Этаж 2|ВРУ"} }; static async Task Main(string[] args) { foreach (var ipc in listIPC) { string baseUrl = $"http://{ipc.Key}"; var credCache = new CredentialCache(); credCache.Add(new Uri(baseUrl), "Digest", new NetworkCredential("admin", "4NUDZhJ7")); using (var handler = new HttpClientHandler { Credentials = credCache, ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true }) using (var httpClient = new HttpClient(handler)) { string requestUrl = $"{baseUrl}/cgi-bin/configManager.cgi?action=setConfig&ChannelTitle[0].Name={ipc.Value}"; var response = await httpClient.GetAsync(requestUrl); try { response.EnsureSuccessStatusCode(); Console.WriteLine($"{ipc.Key}\tOK\t{ipc.Value}"); } catch (Exception) { Console.WriteLine($"{ipc.Key}\tNO\t{ipc.Value}"); return; } } } Console.ReadKey(); } } }