Пришло время снова ответить на этот вопрос, но на этот раз с Delphi XE2.
Я использую Indy версии 10.5.8.0, которая поставляется с XE2, и пробовал четыре разные версии библиотек DLL SSL. Я пробовал последнюю версию 1.0.x и около 3 разных версий 0.9.8 (e, h, x, ....).
Ни один из них не работает при обращении к URL-адресам https:// на сайте calendar.google.com. Автор компонента Delphi Google Calendar по адресу "Sync-components.com" поставляет свой собственный двоичный файл. среды выполнения openssl DLL, в которых нет информации о версии, но, похоже, это очень маленькая, очень старая версия SSL-библиотек старше 0.9.8. Автор компонента говорит, что работают только его частные неверсионные библиотеки DLL. Я не могу в это поверить. Наверняка по крайней мере одна версия dll openSSL достаточно хорошо работает с Delphi XE2 для подключения к Календарю Google.
Чтобы загрузить свою древнюю DLL в Indy 10 в Delphi XE2, он модифицирует метод Load IdSSLOpenHeaders.pas следующим образом:
function Load: Boolean;
begin
/// ... lots of stuff
//Result := (FFailedFunctionLoadList.Count = 0); // original.
Result := (FFailedFunctionLoadList.Count <= 18); // changed to.
end;
Конечно, компонент, который я оцениваю, не работает. в XE2, но я подозреваю, что это неисправность либо (а) этого конкретного снимка Indy 10, который поставляется с XE2, либо (б) того факта, что World of SSL DLLs — настоящий ад «сломан для вас, но работает для меня "Разные версии.
Что мне нужно сделать, чтобы установить SSL-соединение с Календарем Google с помощью Indy (или любой другой библиотеки компонентов Delphi с поддержкой SSL) в Delphi XE2?
В качестве альтернативы, если у кого-то есть реализация API календаря Google, которая работает с чем-либо, кроме Indy, которую я мог бы использовать для тестирования, я был бы признателен за ссылки и указатели.