веб-страница расписания
-
05-07-2019 - |
Вопрос
Мне нужно запланировать запуск нескольких разных страниц на нескольких разных сайтах в определенное время, обычно раз в ночь.Существует ли какое-либо программное обеспечение для этого?было бы неплохо, если бы он вызвал страницу, а затем записал ответ и то, была ли вызванная страница успешно запущена или нет.Я использовал Helm на другом компьютере, и у него был хороший модуль веб-планировщика, но Helm не подходит для этого компьютера.Это окно Windows Server 2008.
Решение
Мы используем стандартные запланированные задачи, которые вызывают файл bat, который вызывает файл VBS.Я знаю, что это не самое элегантное решение на свете, но оно стабильно работает.
ЛЕТУЧАЯ МЫШЬ:
webrun.vbs http://website.com/page.aspx
VBS:
dim URL, oArgs
Set oArgs = WScript.Arguments
if oArgs.Count = 0 then
msgbox("Error: Must supply URL")
wscript.quit 1
end if
URL = oArgs(0)
on error resume next
Set objXML = CreateObject("MSXML2.ServerXMLHTTP")
if err then
msgbox("Error: " & err.description)
wscript.quit 1
end if
' Call the remote machine the request
objXML.open "GET", URL, False
objXML.send()
' return the response
'msgbox objXML.responSetext
' clean up
Set objXML = Nothing
Код в файле VBS почти наверняка как избыточен, так и недописан, но, тем не менее, функционален.
Другие советы
Как насчет wget.exe а планировщик задач?
Код, приведенный в верхнем примере, имеет некоторые проблемы с активностью задачи во время загрузки веб-сайта. Веб-сайт загружается за 2 минуты, но задача уже выполнена за 1 секунду, что приводит к проблеме, когда вы выполняете ее каждые 5 минут. Если веб-сайт загружается за 10 минут, и задача уже выполнена за 1 секунду, он будет выполнен снова, пока я хочу, чтобы он дождался времени загрузки веб-сайта.
Итак, я сделал следующее (этот скрипт будет держать задачу занятой, пока сайт загружается):
dim URL, oArgs, objXML
Set oArgs = WScript.Arguments
URL = oArgs(0)
on error resume next
Set objXML = CreateObject("Microsoft.XMLDOM")
objXML.async = "false"
objXML.load(URL)
Set objXML = Nothing
Если нет необходимости планировать их из одного окна, загляните на сайт Zoho24x7 .
Изначально он предназначен для мониторинга веб-сайтов, но у него есть возможность записывать ожидаемые ответы и сравнивать их, чтобы вы могли использовать его для своих целей с дополнительной безопасностью внешнего сайта. Это не бесплатно, за исключением нескольких URL. Р>
Это другие похожие провайдеры, но в прошлый раз, когда я искал в Интернете эту тему, они выглядели довольно неплохо. Р>
Я закончил тем, что использовал этот скрипт и планировщик задач, простой и отлично работает:
Call LogEntry()
Sub LogEntry()
'Force the script to finish on an error.
On Error Resume Next
'Declare variables
Dim objRequest
Dim URLs
URLs = Wscript.Arguments(0)
Set objRequest = CreateObject("Microsoft.XMLHTTP")
'Open the HTTP request and pass the URL to the objRequest object
objRequest.open "POST", URLs, false
'Send the HTML Request
objRequest.Send
Set objRequest = Nothing
WScript.Quit
End Sub
Затем я просто вызываю его с URL-адресом, который я хочу использовать в качестве аргумента:
Схожим (хотя, возможно, более мощным) является netcat и его порт Windows
fyi - wget - это стандартная лицензия GNU, поэтому я не уверен, что она пригодна для большинства коммерческих / проприетарных систем.
Я использую http://scheduler.codeeffects.com . Очень эффективно и надежно, не жалуется.