我需要在几个不同的网站上安排几个不同的网页,以便在特定时间运行,通常每晚一次。有没有软件可以做到这一点?如果它调用页面然后记录响应以及被调用页面是否成功运行将会很好。我在另一个盒子上使用Helm,它有一个很好的Web Scheduler模块,但Helm不是这台机器的选项。这是一个Window Server 2008框。
答案 0 :(得分:6)
我们使用调用调用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文件中的代码几乎肯定都是过度杀伤和承保,但功能却不尽如人意。
答案 1 :(得分:3)
wget.exe和任务调度程序如何?
答案 2 :(得分: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
答案 3 :(得分:0)
如果不要求从同一个方框安排它们,请查看Zoho's site24x7。
它最初设计用于监控网站,但它可以选择记录预期的答案并进行比较,以便您可以使用它来增加外部网站的安全性。然而,除了少数网址外,它并不是免费的。
他们是其他类似的提供商,但上次我在网上搜索这个主题时看起来很不错。
答案 4 :(得分: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来调用它:
答案 5 :(得分:0)
类似(虽然可能更强大)是netcat及其windows port
答案 6 :(得分:0)
fyi - wget是GNU标准许可证,因此我不确定它是否适用于大多数商业/专有系统。
答案 7 :(得分:0)
我使用http://scheduler.codeeffects.com。非常有效和可靠,没有抱怨。