Board logo

标题: [问题求助] [已解决]VBS脚本怎样监控https网页的状态? [打印本页]

作者: gawk    时间: 2015-4-10 11:51     标题: [已解决]VBS脚本怎样监控https网页的状态?

我想用VBS监控某些网页的状态,对于http的网页可以这样做:
  1. MyUrls = Array("http://192.168.1.123","http://192.168.1.124")
  2. For Each Url In MyUrls
  3.     Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
  4.     oXMLHTTP.open "GET", Url
  5.     oXMLHTTP.send
  6.     WScript.Echo oXMLHTTP.status
  7. Next
复制代码
但是https的网页用这个代码会报错:
msxml6.dll: Security certificate required to access this resource is invalid.

在浏览器里面访问https的页面会有提示:

点击 Continue to this website (not recommended) 之后就能正常打开页面了。

我现在无法从web服务器证书的角度去解决问题。请问如何用VBS脚本来搞定呢?
我只需要确定页面可以打开就行了,也就是 status code = 200
作者: tmplinshi    时间: 2015-4-10 20:59

试试 "WinHttp.WinHttpRequest.5.1"
  1. MyUrls = Array("http://192.168.1.123","http://192.168.1.124")
  2. For Each Url In MyUrls
  3.     Set oXMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  4.     oXMLHTTP.open "HEAD", Url
  5.     oXMLHTTP.send
  6.     WScript.Echo oXMLHTTP.status
  7. Next
复制代码

作者: gawk    时间: 2015-4-14 22:20

回复 2# tmplinshi


本机测试通过。
部署到监控服务器的时候遇到另一个问题:
监控服务器上访问其它URL的时候需要设置代理 http://192.168.1.222:8080
在这个VBS监控脚本里面如何使用代理呢?
作者: pcl_test    时间: 2015-4-14 23:40

bat 设置代理
  1. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyEnable" /t REG_DWORD /d "1" /f
  2. reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyServer" /t REG_SZ /d "192.168.1.222:8080" /f
复制代码
vbs 设置代理
  1. On Error Resume Next
  2. Const HKEY_CURRENT_USER = &H80000001
  3. strComputer = "."
  4. Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
  5. strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\"
  6. strEntryName = "ProxyEnable"
  7. dwvalue = "1"
  8. objReg.SetDwordValue HKEY_CURRENT_USER, strKeyPath, strEntryName,dwValue
  9. strEntryName = "ProxyServer"
  10. dwvalue = "192.168.1.222:8080"
  11. objReg.SetStringValue HKEY_CURRENT_USER, strKeyPath, strEntryName,dwValue
  12. msgbox "设置代理完成!"
复制代码

作者: gawk    时间: 2015-4-15 08:16

回复 4# pcl_test


你可能没有理解清楚这个问题,设置浏览器的代理我手工操作都没问题,不需要用脚本。
关键在于怎样在2楼的代码里面使用代理访问https页面。
作者: pcl_test    时间: 2015-4-15 12:53

  1.     Set oXMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  2.     oXMLHTTP.SetProxy 2, "192.168.1.222:8080"
复制代码
或者使用proxycfg命令进行设置
作者: gawk    时间: 2015-4-15 19:55

回复 6# pcl_test


    测试成功,多谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2