微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决通过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的方法,但无济于事。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。