找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23489|回复: 6

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

[复制链接]
发表于 2015-4-10 11:51:15 | 显示全部楼层 |阅读模式
我想用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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-4-10 20:59:17 | 显示全部楼层
试试 "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技术 +2 收起 理由
gawk + 1 乐于助人
CrLf + 1 tmp什么时候学vbs了...

查看全部评分

 楼主| 发表于 2015-4-14 22:20:21 | 显示全部楼层
回复 2# tmplinshi


本机测试通过。
部署到监控服务器的时候遇到另一个问题:
监控服务器上访问其它URL的时候需要设置代理 http://192.168.1.222:8080
在这个VBS监控脚本里面如何使用代理呢?
发表于 2015-4-14 23:40:46 | 显示全部楼层
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 "设置代理完成!"
复制代码
 楼主| 发表于 2015-4-15 08:16:21 | 显示全部楼层
回复 4# pcl_test


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

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

评分

参与人数 1技术 +1 收起 理由
gawk + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-4-15 19:55:56 | 显示全部楼层
回复 6# pcl_test


    测试成功,多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:24 , Processed in 0.020429 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表