通过HTTPS和TLS1.2的WinHttp GET请求失败

问题描述

我正在Windows Server 2016上运行的VBA MS Access应用程序中观察到使用WinHTTP发送的HTTP GET请求的奇怪失败,但在Windows 10上可以正常使用...

With New WinHttp.WinHttpRequest
    .Open "GET","https://api.linkedin.com/v2/me?projection=(id,localizedFirstName,localizedLastName)",False
    .setRequestHeader "Authorization","Bearer " & auth_Accesstoken
    .setRequestHeader "Content-Type","application/json"
    .Send
End With

我到处都是很多不同的问题,涉及SSL3,TLS1.2等,但仍然遇到相同的问题,即执行挂起。在出现超时错误之前发送。

查看通过fiddler发出的请求,上面对api.linkedin的请求似乎根本没有遇到fiddler。但是,先前对备用linkedin端点(www的端点)的请求确实起作用,并且确实在提琴手中得到了解决

我已经使用https://howsmyssl.com/a/check测试了我的设置,这表明我的请求以TLS1.2发出。而且我已经可以向www.linkedin.com端点发送HTTPS请求了。

几乎就像Server 2016中的某些东西在它们甚至离开VBA之前就阻止了这些https:\\ api.linkedin.com终结点一样,并且/或者WinHttp.dll和授权标头的使用出现了问题(注意,我使用的不记名令牌是100%正确的,因此我有信心做到这一点-正如我所指出的那样,请求甚至没有达到提琴手的要求,更不用说获得来自Linkedin的拒绝回弹了。

我将永远感谢任何能够帮助我或为我指明正确方向的人。

注意:我还测试了使用其他XMLHTTP60和ServerXMLHTTP60的方法,但无济于事。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)