2008-11-02 2 views
1

Мне нужно запланировать несколько разных страниц на нескольких сайтах, которые будут выполняться в определенное время, обычно один раз в сутки. Есть ли там программное обеспечение для этого? было бы неплохо, если бы он назвал страницу, а затем записал ответ и был ли успешный запуск вызываемой страницы или нет. Я использовал Helm в другой коробке, и у него был хороший модуль Web Scheduler, но Helm не является вариантом для этой машины. Это окно Window Server 2008.расписание веб-страницы

+0

Как указаны в первом ответе - Wget соответствует вашему заявленному вопросу совершенно , Просто назначьте правильную команду wget, и она вызовет веб-страницу и сохранит ответ HTTP в файл. Если вам нужно что-то еще - добавьте больше деталей на вопрос ... – user8032 2008-11-03 02:12:49

ответ

6

Мы используем стандартные запланированные задачи, которые вызывают файл bat, который вызывает файл VBS. Я знаю, что это не самое изящное решение когда-либо, но оно последовательно работает.

BAT:

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 почти бесспорно, и избыточна и нижеизложенное, но функциональный ни-менее.

+0

В итоге я сделал почти то же самое - спасибо за помощь! – Slee 2008-11-18 15:58:11

0

Если нет необходимости планировать их из одной коробки, посмотрите на Zoho's site24x7.

Первоначально он предназначен для мониторинга веб-сайтов, но у него есть возможность записывать ожидаемые ответы и сравнивать их, чтобы вы могли использовать его для своей цели с добавленной безопасностью внешнего сайта. Это не бесплатно, за исключением нескольких URL-адресов.

Это другие аналогичные провайдеры, но они выглядели неплохо в прошлый раз, когда я искал в Интернете эту тему.

0

Я закончил с использованием этого сценария и планировщик задач, простой и прекрасно работает:

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 я хочу запустить в качестве аргумента:

0

fyi - wget - стандартная лицензия GNU, поэтому я не уверен, что она пригодна для большинства коммерческих/проприетарных систем.

1

Код, приведенный в верхнем примере, содержит некоторые проблемы с активностью задачи во время загрузки веб-сайта. На сайте загружается 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