我导入WinHTTP并尝试在https网址中执行请求,如下所示:
function TForm1.GetPage(AURL: String): String;
var
WinHttpRequest: IWinHTTPRequest;
begin
CoInitialize(nil);
try
WinHttpRequest := CoWinHttpRequest.Create;
WinHttpRequest.Open('GET', AURL, False);
WinHttpRequest.Send(EmptyParam);
Result := WinHttpRequest.ResponseText;
finally
WinHTTPRequest := nil;
CoUninitialize;
end;
end;
它可以在相同的页面(例如:https://www.google.com)中工作,而不能在其他页面(例如:https://sourceforge.net)中工作,并出现错误“与服务器的连接异常终止”。
我还有其他设置要忘记吗?
我正在使用Delphi 2010。
答案 0 :(得分:1)
大多数服务器已经从接受SSL传入流量转移到支持TLS协议。 Windows 7和8没有定义TLS协议,因此VBA使用SSL发送流量,然后此类服务器将其阻止/丢弃。
您将需要进行两步修补/更新才能在Windows 7中修复此问题
步骤1。获取Microsoft Update: 下载相关的(32位或64位用户的Windows版本) Microsoft Security Protocol Update并安装(如果尚未安装)。
步骤2。下载Microsoft Easy Fix: 从以下位置下载Microsoft“轻松修复” Microsoft Support Article,然后执行以将TLS 1.1+设置为默认值。
来源:Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows