Delphi / Indy10 Как проверить правильность URL-адреса https без загрузки содержимого - PullRequest
0 голосов
/ 01 мая 2018

Ранее URL, который мне нужно было проверить, был http, и я использовал TidTCPClient для эмуляции протокола http, чтобы определить, существует ли файл на веб-сервере. Теперь они перешли на https, и я не знаю, как это сделать.

Могу ли я использовать TIdHTTP с хандером TIdSSLIOHandlerSocketOpenSSL, а затем какую-нибудь функцию Indy, чтобы только определить, существует ли ресурс? У меня установлен OpenSSL.

1 Ответ

0 голосов
/ 01 мая 2018

Ваш существующий код TIdTCPClient должен продолжать работать, если вы просто назначите TIdSSLIOHandlerSocketOpenSSL клиенту IOHandler, измените Port клиента на 443 и установите для IOHandler PassThrough значение False. HTTPS - это просто HTTP через соединение SSL / TLS, он не меняет сам HTTP.

Но чтобы ответить на ваш вопрос, да, вы можете переключиться на TIdHTTP, если хотите. Вы можете использовать команду HTTP HEAD (метод TIdHTTP.Head()), чтобы проверить правильность URL-адреса, не загружая полный ресурс.

...