Как отправить get запрос на https с delphi?

Пользователь

от lamar , в категории: Другие , 8 месяцев назад

Как отправить get запрос на https с delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от shayna.buckridge , 6 месяцев назад

@lamar 

Вы можете отправить GET-запрос на HTTPS с помощью компонента Indy (Internet Direct):

  1. Добавьте компоненты Indy в ваш проект. Для этого выберите пункт меню Component -> Install Packages, найдите пакет Indy и установите его.
  2. Добавьте компоненты TIdHTTP и TIdSSLIOHandlerSocketOpenSSL на форму.
  3. Установите свойства TIdSSLIOHandlerSocketOpenSSL:Присвойте свойству SSLOptions.Mode значение sslmClient.Установите свойства SSLOptions.Method и SSLOptions.SSLVersions в соответствии с требованиями сервера.
  4. Сформируйте URL-адрес и передайте его методу Get объекта TIdHTTP.
  5. Обработайте ответ сервера.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
uses
  IdHTTP, IdSSLOpenSSL;

procedure TForm1.Button1Click(Sender: TObject);
var
  IdHTTP: TIdHTTP;
  IdSSL: TIdSSLIOHandlerSocketOpenSSL;
  Response: string;
begin
  IdHTTP := TIdHTTP.Create(nil);
  IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  try
    IdHTTP.IOHandler := IdSSL;
    IdSSL.SSLOptions.Method := sslvTLSv1_2;
    IdSSL.SSLOptions.Mode := sslmClient;

    Response := IdHTTP.Get('https://www.example.com');

    // Обработка ответа сервера
    Memo1.Lines.Add(Response);
  finally
    IdHTTP.Free;
    IdSSL.Free;
  end;
end;


В этом примере мы отправляем GET-запрос на https://www.example.com и выводим ответ сервера в многострочный компонент Memo1. Перед использованием компонентов TIdHTTP и TIdSSLIOHandlerSocketOpenSSL не забудьте добавить в раздел uses модули IdHTTP и IdSSLOpenSSL.