证书无效或错误的问题 - "WinHttp.WinHttpRequest.5.1"

3
我正在运行一个宏,调用一个函数从服务器获取信息。我使用"WinHttp.WinHttpRequest.5.1"进行连接。大部分请求都能够正常返回有效结果,但有5%的请求会导致以下错误:

运行时错误:授权证书无效或不正确-2147012851(80072f0d)

每当出现这个错误时,我需要前往该网站登录,然后从停止的位置重新执行我的代码。然后相同的请求就能够正常返回结果。

我在代理后面。

Set htttpObj = CreateObject("WinHttp.WinHttpRequest.5.1")

url = PrefixoUrl + "/Clientes/ServerToExcel/S2E_001.php?func1=" & func1 & "&func2=" & func2
'time out
htttpObj.SetTimeouts 10000, 10000, 10000, 300000   

'open
If proxyNeeded And authNeeded Then
    htttpObj.Open "POST", url, False, ProxyUser, ProxyPass         
Else
    htttpObj.Open "POST", url, False
End If

'header
htttpObj.setRequestHeader headerName, headerValue

'Proxy IP
If proxyNeeded Then
    htttpObj.setProxy 2, ProxyIp + ":" + ProxyPort
End If

'proxy credentials
If proxyNeeded And authNeeded Then
    HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1
    htttpObj.SetCredentials ProxyUser, ProxyPass, HTTPREQUEST_SETCREDENTIALS_FOR_PROXY
End If

'Send
htttpObj.Send ("func1=" & func1 & "&func2=" & func2 & "&username=" & loginSite & "&psd=" & passSite)

有什么想法为什么会发生这种情况,或者如何处理这个错误?
1个回答

0

我也遇到了有关证书的弹出消息的同样问题。我找到了解决方案,并且它对我有效。在我的代码中,它看起来像这样:

Set xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1")

xmlhttp.option(6) = False
xmlhttp.Open "GET", url, False
xmlhttp.send

那行代码 xmlhttp.option(6) = False 关闭了关于证书的消息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接