Я работаю над проектом в Delphi 10.1 Berlin, который интегрируется с GitHub. Этот проект предназначен для загрузки репозиториев через ZIP-файлы. Однако я столкнулся с некоторыми проблемами.
Изначально я решил (как всегда) использовать Indy для интеграции с GitHub API. Я всегда использовал Indy для всего потребления веб-API. Однако я не пользуюсь им с GitHub.
API требует HTTPS. Я получил последние библиотеки OpenSSL для использования с Indy и использую библиотеку Indy с Delphi 10.1 Berlin.
Я настроил компонент TIdHTTP
с прикрепленным TIdSSLIOHandlerSocketOpenSSL
. Я установил этот обработчик ввода-вывода на все доступные опции Method
, и ни один из них не дает мне правильного ответа. Я получаю один из двух разных ответов ...
- При использовании
sslvSSLv3
я получаю: error:14094410:SSL routines: SSL3_READ_BYTES:sslv3 alert handshake failure.
- При использовании
sslvTLSv1_2
я получаю: error:1409442E:SSL routines:SSL_READ_BYTES:tlsv1 alert protocol version
На данный момент мне пришлось прибегнуть к TRESTClient
, чтобы иметь возможность работать с API. Но он не обрабатывает двоичный файл должным образом.
Тест так же прост, как https://api.github.com
. Я могу позвонить в Chrome и Postman и получить ответ. Только не через Инди.
Как мне установить соединение с API GitHub через библиотеку Delphi Indy?