[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]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
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

试试 "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
复制代码
2

评分人数

    • gawk: 乐于助人技术 + 1
    • CrLf: tmp什么时候学vbs了...技术 + 1

TOP

回复 2# tmplinshi


本机测试通过。
部署到监控服务器的时候遇到另一个问题:
监控服务器上访问其它URL的时候需要设置代理 http://192.168.1.222:8080
在这个VBS监控脚本里面如何使用代理呢?
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

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 "设置代理完成!"
复制代码

TOP

回复 4# pcl_test


你可能没有理解清楚这个问题,设置浏览器的代理我手工操作都没问题,不需要用脚本。
关键在于怎样在2楼的代码里面使用代理访问https页面。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

  1.     Set oXMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
  2.     oXMLHTTP.SetProxy 2, "192.168.1.222:8080"
复制代码
或者使用proxycfg命令进行设置
1

评分人数

    • gawk: 乐于助人技术 + 1

TOP

回复 6# pcl_test


    测试成功,多谢!
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

返回列表