vbscript下载文件(使用https绕过无效的证书错误)

背景:

使用Https从安全站点下载文件来自动安装安全证书,同样的代码可以从http站点正常工作,但目前需要绕过安全错误。

dim xHttp: Set xHttp = createobject("microsoft.xmlhttp")
dim bStrm: Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", "https://www.website.com/apps/CertMgr.Exe", False
xHttp.Send
with bStrm
    .type = 1 '//binary
    .open
    .write xHttp.responseBody
    .savetofile "c:\CertMgr.Exe", 2 '//overwrite
end with

方法:

您需要从MSXML2.XMLHTTP切换到MSXML2.ServerXMLHTTP并使用值为SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS的setOption方法。只需在Open和Send之间进行调用即可。这是使用新代码更新的示例。

# 这里需要定义一个常量
const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056

dim xHttp: Set xHttp = createobject("MSXML2.ServerXMLHTTP")
dim bStrm: Set bStrm = createobject("Adodb.Stream")
xHttp.Open "GET", "https://www.website.com/apps/CertMgr.Exe", False

# 在这里添加调用
xHttp.setOption 2, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS

xHttp.Send
with bStrm
    .type = 1 '//binary
    .open
    .write xHttp.responseBody
    .savetofile "c:\CertMgr.Exe", 2 '//overwrite
end with

参考资料:
1、https://oomake.com/question/1249856 20200609
2、http://www.uwenku.com/question/p-uwfnqlxm-tx.html 20200609

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值