Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проблемы с WinHTTP в Delphi 2010: Решение ошибки подключения к HTTPS-страницам на Windows 7

Delphi , ОС и Железо , Windows

В данной статье мы рассмотрим проблему, с которой сталкиваются разработчики, использующие Delphi 2010 для работы с WinHTTP и HTTPS-страницами на операционной системе Windows 7. При выполнении запроса к некоторым страницам через WinHTTP возникает ошибка "The connection with the server was terminated abnormally". Мы выясним причину этого явления и предложим решение, которое позволит устранить данную проблему.

Описание проблемы

Разработчики, использующие компоненты WinHTTP в среде Delphi 2010 для выполнения запросов к HTTPS-страницам, могут столкнуться с проблемами, особенно на операционных системах, таких как Windows 7. Код, который работает корректно на одних страницах (например, на https://www.google.com), может выдавать ошибку подключения на других (например, на https://sourceforge.net).

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;

Причины возникновения ошибки

Основной причиной возникновения ошибки является то, что большинство серверов перешли на использование TLS (Transport Layer Security) протокола вместо SSL (Secure Sockets Layer). Операционные системы Windows 7 и 8 не имеют встроенной поддержки TLS, и поэтому WinHTTP отправляет трафик с использованием устаревшего SSL-протокола, который может быть отвергнут или отброшен серверами, поддерживающими только TLS.

Решение проблемы

Для устранения проблемы необходимо выполнить два шага:

Шаг 1. Обновление Microsoft Security Protocol Update

Необходимо скачать и установить обновление Microsoft Security Protocol Update, соответствующее разрядности вашей операционной системы (32-битная или 64-битная). Ссылка для скачивания обновления доступна здесь.

Шаг 2. Применение Microsoft Easy Fix

Далее, скачайте Microsoft "Easy Fix" с официальной страницы поддержки и запустите его, чтобы установить TLS 1.1 и TLS 1.2 в качестве стандартных протоколов безопасности.

Заключение

После выполнения этих двух шагов, проблема с подключением к HTTPS-страницам должна быть решена, и ваш код на Delphi 2010 будет работать корректно с WinHTTP на операционной системе Windows 7.

Обратите внимание, что обновления и инструменты, упомянутые в данной инструкции, предназначены для операционной системы Windows 7. Если вы используете более новую версию Windows, рекомендуется проверить наличие аналогичных обновлений, которые могут быть доступны для вашей конкретной операционной системы.

Эта информация взята из официального источника, который рекомендуется посетить для получения дополнительных технических деталей и обновлений.

Создано по материалам из источника по ссылке.

Разработчики, использующие WinHTTP в Delphi 2010 на Windows 7, сталкиваются с проблемой подключения к HTTPS-страницам из-за устаревания SSL-протокола.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Windows ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 11:47:34/0.0036158561706543/0