WinHTTP-与服务器的连接异常终止

时间:2018-08-14 14:57:49

标签: delphi-2010 winhttp

我导入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。

1 个答案:

答案 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