我有一个VBScript文件设置在专用于运行计划进程的旧Windows XP计算机上运行。该脚本只调用一个URL。它不必进行任何纠错(网页处理所有这些)。脚本如下所示:
Sub SampleProcessor()
On Error Resume Next
Dim objRequest
Dim URL
Set objRequest = CreateObject("Microsoft.XMLHTTP")
URL = "https://www.url.com/Processor.php"
objRequest.Open "POST", URL, False
objRequest.Send
Set objRequest = Nothing
End Sub
Call SampleProcessor()
现在这个脚本计划每天24小时每五分钟运行一次,并且多年来一直运行良好。
我最近不得不创建一个与此类似的新流程。
我在上面使用了相同的.vbs文件,重命名了它,更改了函数的名称和URL。救了它。把它作为预定的过程。它不会运行。我已经验证两个脚本都设置为在同一个用户下运行。将URL输入同一台计算机上的浏览器窗口时,URL会起作用。为避免任何可能的碰撞,旧功能从下午7:00开始每5分钟运行一次,新功能从下午7:03开始每5分钟运行一次。这两个脚本通常都不需要超过20-30秒。从浏览器调用时,页面不会产生任何类型的错误,并且每次都能正确运行完成。
答案 0 :(得分:0)
首先要确定问题所在。 它可能与任务调度程序或vbs本身有关。 所以,要检查一些事项:
如果您无法发现错误,请将计划任务导出为xml并附加到此问题。它可能有助于调查这个问题。
答案 1 :(得分:0)
感谢您的评论。我最终想通了。我在预定的处理器计算机上的浏览器(Chrome)中访问了网址,它运行得很好......我还将这些文件保存为.asp页面,将它们放在Web服务器上并对它们进行测试,然后就可以了。
然后我回到预定的处理器机器并在IE 8中打开了网址 - 一个网址正常工作,另一个网址没有。
没有使用SNI在单个IP地址上托管多个SSL站点的计算机上运行。 IE 8不支持SNI,所以它无法正确处理https握手...因为这段代码甚至没有包含任何远程敏感信息 - 我只是切换到http并且它的工作方式就像一个魅力。
希望预算众神能让我尽快更换旧的XP机器,但如果没有,任何人都知道如何让Microsoft.XMLHTTP处理SNI?