Вверх ↑
Этот топик читают: Гость
Ответов: 30
Рейтинг: 0
#1: 2024-10-14 07:01:31 ЛС | профиль | цитата
Приветствую!
Есть какой-нибудь метод получения точного времени (+/- 1 сек.) с какого-нибудь сервера (не в домене), чтобы сравнить с ними локальное и при значительном отклонении синхронизировать.
Пользовался такой схемой, но источник ввёл капчу:

Add(MainForm,2953706,245,140)
{
Width=425
Height=202
Position=1
}
Add(Label,5599400,630,147)
{
Left=141
Top=13
Height=28
Font=[MS Sans Serif,14,0,0,1]
CaptionOnClick=0
}
Add(HTTP_Get,4281061,420,140)
{
@Color=15790320
URL="https://time100.ru/api.php"
Wait=0
link(onStatus,13155750:doText,[(502,146)(502,104)])
link(onDownload,4363795:doConvert,[(482,153)(482,153)])
}
Add(StreamConvertor,4363795,497,147)
{
@Color=15790320
Mode=6
link(onResult,2350751:doConvert,[(551,153)(551,153)])
}
Add(Label,13155750,630,98)
{
Left=17
Top=43
Width=22
Height=17
Caption="000"
}
Add(Button,12512148,336,140)
{
Left=15
Top=16
Width=115
Caption="Получить время"
link(onClick,4281061:doDownload,[])
}
Add(InfoTip,15268559,336,35)
{
Info=#36:Источник: https://time100.ru/api.php|
Width=260
Height=53
}
Add(DateConvertor,2350751,560,147)
{
@Color=15790320
Mode=16
link(onResult,5599400:doText,[])
}


Редактировалось 2 раз(а), последний 2024-10-14 07:03:13
карма: 0

0
Ответов: 8921
Рейтинг: 823
#2: 2024-10-14 13:37:10 ЛС | профиль | цитата
sansey73, в Москве проверяю по https://time100.ru/Moscow
Хотя сайт иногда оповещает: "Проверка что вы не робот"
карма: 19

0
Ответов: 875
Рейтинг: 322
#3: 2024-10-14 18:08:56 ЛС | профиль | цитата
sansey73, а если так?

Add(MainForm,16069881,504,301)
{
Width=319
Height=97
Position=1
}
Add(HTTP_Get,4281061,658,301)
{
@Color=15790320
URL="https://time.is/"
Wait=0
link(onStatus,13155750:doText,[(740,307)(740,265)])
link(onDownload,4363795:doConvert,[])
}
Add(StreamConvertor,4363795,749,308)
{
@Color=15790320
Mode=6
link(onResult,6812496:doSearch,[])
}
Add(Label,13155750,756,259)
{
Left=17
Top=43
Width=22
Height=17
Caption="000"
}
Add(Button,12512148,574,301)
{
Left=15
Top=16
Width=115
Caption="Получить время"
link(onClick,4281061:doDownload,[])
}
Add(InfoTip,15268559,574,196)
{
Info=#26:Источник:https://time.is/ |
Width=260
Height=53
}
Add(Label,11597899,903,308)
{
Left=151
Top=13
Height=28
Font=[MS Sans Serif,14,0,0,1]
CaptionOnClick=0
}
Add(DateConvertor,4769985,854,308)
{
@Color=15790320
Mode=16
link(onResult,11597899:doText,[])
}
Add(BlockFind,6812496,805,308)
{
IncludeBlock=1
StartBlock="cITimeS: '"
EndBlock="',cTTime"
link(onSearch,4769985:doConvert,[])
}

карма: 1

0
Ответов: 30
Рейтинг: 0
#4: 2024-10-15 11:49:57 ЛС | профиль | цитата
kamakama, так работает! Спасибо!
Получается, что в ответе есть время, даже, если сайт запрашивает проверку капчей.
Хост от Леонид, тоже дает нужный ответ:


Add(HTTP_Get,4281061,679,140)
{
@Color=15790320
URL="https://time100.ru/api.php"
Wait=0
link(onDownload,4363795:doConvert,[(744,153)(744,153)])
link(onStop,5339014:doStop,[(731,167)(731,196)(569,196)(569,153)])
}
Add(StreamConvertor,4363795,777,147)
{
@Color=15790320
Mode=6
link(onResult,6056902:doSearch,[(817,153)(817,153)(867,153)(839,153)])
}
Add(Button,12512148,392,140)
{
Left=15
Top=16
Width=115
Caption="Получить время"
link(onClick,9222635:doEnum,[])
}
Add(DateConvertor,2350751,924,147)
{
@Color=15790320
Mode=16
Point(Result)
}
Add(MainForm,16069881,294,49)
{
Width=507
Height=223
Position=1
}
Add(TimeCounter,5339014,581,140)
{
link(onStart,4281061:doDownload,[])
link(onStop,6227697:doString,[(647,153)(647,216)])
}
Add(BlockFind,6056902,847,147)
{
IncludeBlock=1
StartBlock="cITimeS: '"
EndBlock="',cTTime"
link(onSearch,2350751:doConvert,[])
}
Add(StrList,3877132,483,42)
{
Strings=#26:https://time100.ru/api.php|25:https://time100.ru/Moscow|16:https://time.is/|
}
Add(ArrayEnum,9222635,497,140)
{
link(onItem,5339014:doStart,[])
link(Array,3877132:Array,[])
}
Add(StringTable,3737979,1029,210)
{
Left=16
Top=37
Width=463
Height=132
Columns=#8:Задержка|13:Результат=130|12:Источник=160|
Grid=0
}
Add(FormatStr,6227697,917,210)
{
DataCount=3
Mask="%1;%2;%3"
link(onFString,3737979:doAdd,[(992,216)(992,216)])
link(Str2,2350751:Result,[])
link(Str3,9222635:Item,[(937,191)(503,191)])
}

карма: 0

0
Ответов: 782
Рейтинг: 168
#5: 2024-10-18 04:51:42 ЛС | профиль | цитата
sansey73 писал(а):
Есть какой-нибудь метод получения точного времени (+/- 1 сек.) с какого-нибудь сервера (не в домене), чтобы сравнить с ними локальное и при значительном отклонении синхронизировать.

https://learn.microsoft.com/ru-ru/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings?tabs=config
Запустить службу - net start w32time

Посмотреть
Add(MainForm,2953706,196,112)
{
Width=771
Height=506
link(onCreate,5740820:doConsoleExec,[])
}
Add(WinExec,5740820,259,112)
{
FileName="w32tm"
Param="/query /status /verbose"
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,8232811:doWork2,[])
link(onConsoleError,8232811:doWork3,[(319,139)])
}
Add(Memo,2560663,476,126)
{
Width=755
Height=467
Align=5
Font=[Consolas,12,0,0,204]
ScrollBars=3
}
Add(HubEx,8232811,315,126)
{
link(onEvent,1266147:doCharset,[])
}
Add(Charset,1266147,343,126)
{
link(onCharset,776670:doReplace,[])
}
Add(Replace,776670,413,126)
{
SubStr="\n"
DestStr="\r\n"
link(onReplace,2560663:doAdd,[])
}


Редактировалось 1 раз(а), последний 2024-10-18 04:53:48
карма: 15

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)