Indy ssl

Indy ssl

А, якщо натиснути на цей замочок, то можна побачити більш детальну інформацію про захищеній сторінці, де Ви зможете подивитися сертифікат безпеки, алгоритм шифрування сторінки, даних і багато іншого.

Так як, у Indy з цим завданням давненько проблеми, то деякі користувачі, для того, щоб отримати код на захищених сторінках, відправити запит, отримати відповідь з сервера, використовують компонент TWebBrowser. що дуже незручно, він все таки візуальний.

Ну що, тепер давайте приступимо до самого проекту. Що нам необхідно буде, на формі у мене такі компоненти:

Давайте трохи налаштуємо ці компоненти, у властивості компонента TIdHTTP - IOHandler вкажемо компонент TIdSSLIOHandlerSocketOpenSSL. Це ще не все, якщо Ви спробуйте завантажити, через запит GET. захищену веб-сторінку, то Зрозумілі у Вас буде помилка. Для всього цього нам необхідно буде завантажити останню версію бібліотеки Openssl. але я скачав RunTimePack бібліотек і встановив їх. Нам необхідні лише 2-е dll-ки:

Їх, можна скопіювати в папку Вашого проекту, або в системний каталог Windows (system32), найкраще, носити в папці з проектом, так як не у всіх користувачів можуть бути встановлені дані бібліотеки.

Все, як тільки все це зроблено, можна завантажувати захищені https-сторінки звичайним способом:

Доброго дня. Може думки будуть чому цей код працює під Win32 і Android і валиться під iOS?

rcvrdata: = TMemoryStream.Create;
IdHTTP: = TIdHTTP.Create (nil);
IdHandler: = TIdSSLIOHandlerSocketOpenSSL.Create (nil);
IdHTTP.IOHandler: = IdHandler;
IdHTTP.MaxAuthRetries: = 10;

FreeAndNil (IdHandler);
FreeAndNil (rcvrdata);
FreeAndNil (IdHTTP);

Підкажіть, як можна з використанням вашого прикладу завантажити файл з Дропбокса. Там так само використовується захищене з'єднання. Я пробував процедурою get через потік. Але виходить помилка. Знаю, що в wget подібна проблема усувається зазначенням прапора -no-check-certificate

Будь ласка киньте исходник даної проги, а то чето взагалі не виходить, стільки помилок видав ....

Схожі статті