如何在Internet Explorer中运行vbs

时间:2014-11-06 01:53:02

标签: internet-explorer vbscript

我试图在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

这样做的正确方法是什么?

2 个答案:

答案 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 - 字符串,您可能希望使用/添加(因此您不必更改日志格式)如果您的自定义标题不会显示?