我试图在Internet Explorer中运行此vbscript,但它似乎无法正常工作。当我制作.vbs文件并双击时,它可以正常工作,但不能在浏览器上使用。
Dim strWebsite
strWebsite = "www.site.org"
If PingSite( strWebsite ) Then
WScript.Echo "Web site " & strWebsite & " is up and running!"
Else
WScript.Echo "Web site " & strWebsite & " is down!!!"
End If
Function PingSite( myWebsite )
Dim intStatus, objHTTP
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
objHTTP.Open "GET", "http://" & myWebsite & "/", False
objHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MyApp 1.0; Windows NT 5.1)"
On Error Resume Next
objHTTP.Send
intStatus = objHTTP.Status
On Error Goto 0
If intStatus = 200 Then
PingSite = True
Else
PingSite = False
End If
Set objHTTP = Nothing
End Function
这样做的正确方法是什么?
答案 0 :(得分:4)
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", "http://..................", False
oXMLHTTP.Send
If oXMLHTTP.Status = 200 Then
'"website ok"
End If
答案 1 :(得分:1)
来自MS媒体的热门:VBScript is no longer supported in IE11 edge mode(您可能知道,其他浏览器(不会在MS渲染器上运行)无论如何都无法运行vbs)
'正确'方法是将其转换为javascript(不严重,你现在仍然可以嘲笑,但它显然已经非常弃用并建议现在更新旧代码),这并不难,因为这种技术起源于MS。您仍然会执行头部请求并检查状态编号
这应该让你开始:HTTP HEAD Request in Javascript/Ajax?
编辑(解决您的评论):
不要指望可靠地设置useragent
(就像上面的脚本一样,似乎更像是过去的事情):
<强> EDIT2:强>
我认为/你想要以某种方式区分你的应用程序:MyApp 1.0;
(在日志中可能?)。如果是这种情况,您可能需要添加一些自定义标题:
How can I add a custom HTTP header to ajax request with js or jQuery?
此外,大多数服务器日志(默认情况下)接收GET
- 字符串,您可能希望使用/添加(因此您不必更改日志格式)如果您的自定义标题不会显示?