【问题标题】:WinHTTP - The connection with the server was terminated abnormallyWinHTTP - 与服务器的连接异常终止
【发布时间】:2019-01-21 11:40:58
【问题描述】:

我导入 WinHTTP 并尝试在 https url 中执行请求,如下所示:

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。

【问题讨论】:

  • 详细信息:它不仅在 Windows 7 中有效。

标签: delphi-2010 winhttp


【解决方案1】:

大多数服务器已不再接受 SSL 传入流量,转而采用 TLS 协议。 Windows 7 和 8 没有定义 TLS 协议,因此 VBA 使用 SSL 发送流量,然后被此类服务器阻止/丢弃。

您需要应用两步补丁/更新来修复 Windows 7 的此问题,

第 1 步。获取 Microsoft 更新: 下载相关(32位或64位用户Windows版本) Microsoft Security Protocol Update 如果尚未安装,请安装。

第 2 步:下载 Microsoft Easy Fix: 从以下位置下载 Microsoft “Easy Fix” Microsoft Support Article,并执行将 TLS 1.1+ 设置为默认值。

来源:Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多