我有一个旧的VB应用程序,它使用Microsoft Internet Transfer Control(或Inet)通过HTTPS从网页读取信息。它安装在许多Windows 10机器上,除了一台机器外,它可以正常工作。在此计算机上,当通过HTTPS进行呼叫时,响应将返回空白。该请求永远不会进入Web服务器,因为IIS日志中没有该条目。通过HTTP调用同一个URL工作得很好,只有HTTPS调用有这个问题。
我怀疑问题出在TLS 1.0上。该协议在Web服务器上禁用。我知道旧的浏览器,包括旧版本的IE,需要TLS 1.0。 是否有控制Inet是否支持TLS 1.1 +的设置?我确实检查了Internet选项和"使用TLS 1.1"和"使用TLS 1.2"已经检查过,所以这些设置可能不适用于Inet,我需要查看其他地方。 或者是其他问题?
以下是使用Inet进行HTTPS调用的代码。这很简单。
response = Inet1.OpenURL("https://my_site/some_page")
' response is blank
答案 0 :(得分:1)
我有同样的问题。试验互联网属性我发现取消选中"使用HTTP 1.1",通过代理连接" HTTP 1.1;#34;检查,修复问题。如果您在程序运行时进行更改,则必须关闭程序并重新启动它。不必重启你的电脑。希望这有帮助
答案 1 :(得分:0)
如果您在WebServer中禁用了TLS 1.0,则它将无法在TLS 1.0之前支持的计算机中运行。 VB浏览器默认使用IE7。如果HTTPS链接在计算机常规浏览器上运行,则需要检查文档模式设置,否则需要在Web服务器中启用TLS 1.0。