Files
work/sync_time_dh/Program.cs
T
astankovmi eb6235bd3e
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 17s
upd
2026-05-26 14:02:32 +03:00

52 lines
2.1 KiB
C#

using System.Net;
namespace sync_time_dh
{
internal class Program
{
static async Task Main(string[] args)
{
#if DEBUG
args = new string[1];
args[0] = "172.16.54.30";
#endif
string baseUrlU = $"http://{args[0]}";
var credCacheU = new CredentialCache();
credCacheU.Add(new Uri(baseUrlU), "Digest", new NetworkCredential("admin", "4NUDZhJ7"));
using (var handler = new HttpClientHandler
{
Credentials = credCacheU,
ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true
})
using (var httpClient = new HttpClient(handler))
{
string requestUrl1 = $"{baseUrlU}/cgi-bin/global.cgi?action=setCurrentTime&time={DateTime.Now:yyyy-MM-dd HH:mm:ss}";
string requestUrl2 = $"{baseUrlU}/cgi-bin/configManager.cgi?action=setConfig&NTP.Enable=false&NTP.TimeZone=3&NTP.TimeZoneDesc=Moscow";
string requestUrl3 = $"{baseUrlU}/cgi-bin/configManager.cgi?action=setConfig&Locales.TimeFormat=dd-MM-yyyy HH:mm:ss";
var response1 = await httpClient.GetAsync(requestUrl1);
var response2 = await httpClient.GetAsync(requestUrl2);
var response3 = await httpClient.GetAsync(requestUrl3);
try
{
response1.EnsureSuccessStatusCode();
response2.EnsureSuccessStatusCode();
response3.EnsureSuccessStatusCode();
}
catch (Exception)
{
Console.WriteLine("1");
return;
}
var r1 = await response1.Content.ReadAsStringAsync();
var r2 = await response2.Content.ReadAsStringAsync();
var r3 = await response3.Content.ReadAsStringAsync();
if (r1.StartsWith("OK") && r2.StartsWith("OK") && r3.StartsWith("OK"))
{
Console.WriteLine("0");
}
else Console.WriteLine("1");
}
}
}
}