1 (изменено: AlexRam666, 2013-02-04 11:19:00)

Тема: AHK: Обновление страницы

Доброго времени суток. Если это возможно, мне нужен следующий скрипт. Скрипт заходит на определенный сайт и каждое n количество времени обновляет его. Когда на этой странице возникает новое сообщение (любое изменение страницы) , то происходит оповещение (звуковое, текстовое, но такое, что бы при запущенном приложение я бы увидел это оповещение).
Заранее благодарю.

2 (изменено: Irbis, 2013-02-04 23:45:02)

Re: AHK: Обновление страницы

Скрипт в примере проверяет эту тему на обновления
(хотя в таком случае лучше просто подписаться )

URL := "http://forum.script-coding.com/viewtopic.php?id=8039"
a := StrMD5(UrlDownloadToVar(URL))
Loop
{
   Sleep 10000 ; 10 сек
   b := StrMD5(UrlDownloadToVar(URL))
   if (a != b)
   {
      SoundPlay *48
      MsgBox Achtung!
      Break
   }
}
ExitApp

UrlDownloadToVar(URL, UserAgent = "")
{
   WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   WebRequest.Open("GET", Url)
   UserAgent ? WebRequest.Option(WinHttpRequestOption_UserAgentString := 0) := UserAgent
   WebRequest.Send()
   Text := WebRequest.ResponseText
   WebRequest := ""
   return Text
}

StrMD5( V ) { ; www.autohotkey.com/forum/viewtopic.php?p=376840#376840
 VarSetCapacity( MD5_CTX,104,0 ), DllCall( "advapi32\MD5Init", UInt,&MD5_CTX )
 DllCall( "advapi32\MD5Update", UInt,&MD5_CTX, A_IsUnicode ? "AStr" : "Str",V
 , UInt,StrLen(V) ), DllCall( "advapi32\MD5Final", UInt,&MD5_CTX )
 Loop % StrLen( Hex:="123456789ABCDEF0" )
  N := NumGet( MD5_CTX,87+A_Index,"Char"), MD5 .= SubStr(Hex,N>>4,1) . SubStr(Hex,N&15,1)
Return MD5
}

3

Re: AHK: Обновление страницы

Большое спасибо!

4

Re: AHK: Обновление страницы

Irbis
Не могли бы вы пояснить нубу назначение функции StrMD5

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5 (изменено: AlexRam666, 2013-02-10 12:32:13)

Re: AHK: Обновление страницы

Самому интересно

6 (изменено: AlexRam666, 2013-02-10 12:40:01)

Re: AHK: Обновление страницы

Еще вопросец. А как сделать так, что бы в сообщении высветилась активная ссылка на отслеживаемый сайт?
И после того как высветилось сообщение скрипт не закрывался, а продолжал отслеживать следующие изменения.

7 (изменено: Irbis, 2013-02-12 19:37:23)

Re: AHK: Обновление страницы

Функция StrMD5 получает хеш от входной строки, которой является содержимое страницы. Хеши не совпадут, только если содержимое изменится. (Почему-то простое сравнение строк a и b показывало неверный результат, возможно из-за большой длины строк)

Код, показывающий адрес и предлагающий перейти к нему (в браузере по умолчанию):

URL := "http://forum.script-coding.com/viewtopic.php?id=8039"
a := StrMD5(UrlDownloadToVar(URL))
Loop
{
   Sleep 1000 ; 10 сек
   b := StrMD5(UrlDownloadToVar(URL))
   if (a != b)
   {
      SoundPlay *48
      MsgBox, 4,, Изменилось страница: %URL% `nПерейти на страницу ?
      IfMsgBox Yes
      Run % URL
      a := b
   }
}
; далее по тексту из поста №2

8

Re: AHK: Обновление страницы

Irbis, Спасибо большое

9

Re: AHK: Обновление страницы

Пожалуйста.

10

Re: AHK: Обновление страницы

Irbis
Познавательно. Спасибо!

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui