我想使用 Windows 登录中的 Kerberos 票证通过 VBA 向 Java servlet 发送 POST 请求进行身份验证,然后从 servlet 检索 JSON 响应。我可以在不使用 InternetExplorer 对象的情况下实现此目的吗?使用 WinHttpRequest?
最佳答案
WinHttpRequest
不是 IE 对象。只要您设置放宽安全权限,上述用例就可以完美运行。我去年实现了概念验证:Excel、VBA、REST、Tomcat、SPNEGO 身份验证。
stub 代码:
Dim winHttp As Object
Set winHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
winHttp.SetAutoLogonPolicy (0)
winHttp.Open "GET", "http://..."
winHttp.send
Dim success As Boolean
success = winHttp.waitForResponse(5)
If Not success Then
Debug.Print "DOWNLOAD FAILED!"
Exit Sub
End If
Dim responseText As String
responseText = winHttp.responseText
关于VBA Kerberos 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251825/