我需要在几个不同的网站上安排几个不同的网页,以便在特定时间运行,通常每晚一次。有没有软件可以做到这一点?如果它调用页面然后记录响应以及被调用页面是否成功运行将会很好。我在另一个盒子上使用Helm,它有一个很好的Web Scheduler模块,但Helm不是这台机器的选项。这是一个Window Server 2008框。

有帮助吗?

解决方案

我们使用调用调用VBS文件的bat文件的标准计划任务。我知道这不是最优雅的解决方案,但它始终如一。

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文件中的代码几乎肯定都是过度杀伤和承保,但功能却不尽如人意。

其他提示

如何 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

如果不要求从同一个方框安排它们,请查看 Zoho的网站24x7

它最初设计用于监控网站,但它可以选择记录预期的答案并进行比较,以便您可以使用它来增加外部网站的安全性。然而,除了少数网址外,它并不是免费的。

他们是其他类似的提供商,但上次我在网上搜索这个主题时看起来很不错。

我最终使用这个脚本和任务计划程序,简单而且效果很好:

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 。非常有效和可靠,没有抱怨。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top