在vbscript中测试HTTP响应
我需要测试web url的响应时间,看看它是否得到了缓慢的响应。我从一个教程网站上得到了这个(不记得是哪一个),但它并没有完全满足我的要求:在vbscript中测试HTTP响应,http,vbscript,timeout,Http,Vbscript,Timeout,我需要测试web url的响应时间,看看它是否得到了缓慢的响应。我从一个教程网站上得到了这个(不记得是哪一个),但它并没有完全满足我的要求: On Error Resume Next Set XMLHttp = CreateObject("MSXML2.ServerXMLHTTP") xmlhttp.open "GET", "http://website.url.com" , 0 xmlhttp.send "" If Err.Number < 0 OR Err.Number >
On Error Resume Next
Set XMLHttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", "http://website.url.com" , 0
xmlhttp.send ""
If Err.Number < 0 OR Err.Number > 0 Then
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
MsgBox "TimeOut"
Set objShell = Nothing
WScript.Quit
Else
MsgBox "OK"
End If
Set xmlhttp = Nothing
出错时继续下一步
设置XMLHttp=CreateObject(“MSXML2.ServerXMLHTTP”)
xmlhttp.open“获取”http://website.url.com" , 0
xmlhttp.send“”
如果错误号<0或错误号>0,则
昏暗的奥布舍尔
设置objShell=WScript.CreateObject(“WScript.shell”)
MsgBox“超时”
Set objShell=Nothing
WScript.Quit
其他的
MsgBox“OK”
如果结束
设置xmlhttp=Nothing
此脚本仅测试站点是否超时。我需要更详细的信息,例如即使没有超时,响应时间有多长等。好的,我找到了解决方案:
Dim strHost
' Put your server here
strHost = "localhost"
if Ping(strHost) = True then
Wscript.Echo "Host " & strHost & " contacted"
Else
Wscript.Echo "Host " & strHost & " could not be contacted"
end if
Function Ping(strHost)
dim objPing, objRetStatus
set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select * from Win32_PingStatus where address = '" & strHost & "'")
for each objRetStatus in objPing
if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
Ping = False
'WScript.Echo "Status code is " & objRetStatus.StatusCode
else
Ping = True
'Wscript.Echo "Bytes = " & vbTab & objRetStatus.BufferSize
Wscript.Echo "Time (ms) = " & vbTab & objRetStatus.ResponseTime
'Wscript.Echo "TTL (s) = " & vbTab & objRetStatus.ResponseTimeToLive
end if
next
End Function
Dim strHost
'将服务器放在这里
strHost=“localhost”
如果Ping(strHost)=True,则
Echo“主机”&strHost&“已联系”
其他的
无法联系Wscript.Echo“主机”和strHost&”
如果结束
函数Ping(strHost)
dim objPing,objRetStatus
设置objPing=GetObject(“winmgmts:{impersonationLevel=impersonate}”).ExecQuery_
(“从Win32中选择*地址=”&strHost&“”)
对于objRetStatus中的每个objRetStatus
如果IsNull(objRetStatus.StatusCode)或objRetStatus.StatusCode为0,则
Ping=假
“WScript.Echo”状态代码为“&objRetStatus.StatusCode”
其他的
Ping=真
'Wscript.Echo“Bytes=“&vbTab&objRetStatus.BufferSize
Wscript.Echo“时间(毫秒)=”&vbTab&objRetStatus.ResponseTime
'Wscript.Echo“TTL=”&vbTab&objRetStatus.ResponseTimeToLive
如果结束
下一个
端函数
所有学分都会转到这个网站,它的作者:好的,我找到了解决方案:
Dim strHost
' Put your server here
strHost = "localhost"
if Ping(strHost) = True then
Wscript.Echo "Host " & strHost & " contacted"
Else
Wscript.Echo "Host " & strHost & " could not be contacted"
end if
Function Ping(strHost)
dim objPing, objRetStatus
set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select * from Win32_PingStatus where address = '" & strHost & "'")
for each objRetStatus in objPing
if IsNull(objRetStatus.StatusCode) or objRetStatus.StatusCode<>0 then
Ping = False
'WScript.Echo "Status code is " & objRetStatus.StatusCode
else
Ping = True
'Wscript.Echo "Bytes = " & vbTab & objRetStatus.BufferSize
Wscript.Echo "Time (ms) = " & vbTab & objRetStatus.ResponseTime
'Wscript.Echo "TTL (s) = " & vbTab & objRetStatus.ResponseTimeToLive
end if
next
End Function
Dim strHost
'将服务器放在这里
strHost=“localhost”
如果Ping(strHost)=True,则
Echo“主机”&strHost&“已联系”
其他的
无法联系Wscript.Echo“主机”和strHost&”
如果结束
函数Ping(strHost)
dim objPing,objRetStatus
设置objPing=GetObject(“winmgmts:{impersonationLevel=impersonate}”).ExecQuery_
(“从Win32中选择*地址=”&strHost&“”)
对于objRetStatus中的每个objRetStatus
如果IsNull(objRetStatus.StatusCode)或objRetStatus.StatusCode为0,则
Ping=假
“WScript.Echo”状态代码为“&objRetStatus.StatusCode”
其他的
Ping=真
'Wscript.Echo“Bytes=“&vbTab&objRetStatus.BufferSize
Wscript.Echo“时间(毫秒)=”&vbTab&objRetStatus.ResponseTime
'Wscript.Echo“TTL=”&vbTab&objRetStatus.ResponseTimeToLive
如果结束
下一个
端函数
所有学分都将转到本网站及其作者: