Windows 10更新后的非交互式api登录

时间:2016-04-29 09:33:37

标签: vba api login certificate betfair

我正在使用此方法登录betfair api。一切正常,但Windows 10更新(KB3140741)后不再工作。 ResponseText = {“loginStatus”:“CERT_AUTH_REQUIRED”}任何人都解决了这个问题?

Windows 10 Build 10586.218,版本1511 Microsoft Office 2016

Dim oHTTP As Object: Set oHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim uri As String: uri = "https://identitysso.betfair.com/api/certlogin"
oHTTP.Open "POST", uri, False
oHTTP.SetClientCertificate "Common Name"
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.setRequestHeader "X-Application", App_key
oHTTP.setRequestHeader "Accept", "application/json"
oHTTP.send "username=" & UserName & "&password=" & Password & "" 

1 个答案:

答案 0 :(得分:0)

我会尝试使用Msxml2.ServerXMLHTTP.6.0代替:

Const uri = "https://identitysso.betfair.com/api/certlogin"

Dim req As Object
Set req = CreateObject("Msxml2.ServerXMLHTTP.6.0")

req.Open "POST", uri, False
req.setOption 2, 13056          ' ignore all certificate errors '
req.setOption 3, "Common Name"  ' set the client certificate from the local store '
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.setRequestHeader "X-Application", App_key
req.setRequestHeader "Accept", "application/json"
req.send "username=" & UserName & "&password=" & Password & ""