TFPHTTPClient и FreeBSD

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

TFPHTTPClient и FreeBSD

Сообщение Vadim » 27.03.2020 12:22:36

С помощью компонента TFPHTTPClient получаю страничку с HTTPS-сервера. Код такой:

Код: Выделить всё
Uses Classes, sysutils, fphttpclient;

Const
  fUrl = 'https://irbis.kraslib.ru/cgi-bin/irbis64r/irbis64r_91/cgiirbis_64.exe';
Var
  Post: TFPHTTPClient;
  Params : TStringList;
  IrbUID: TStringList;

begin

  Post  :=TFPHTTPClient.Create(Nil);
  Params:=TstringList.Create;
  IrbUID:=TstringList.Create;
   
  Params.Add('C21COM=F');
  Params.Add('I21DBN=EKU');
  Params.Add('P21DBN=EKU');
  Params.Add('S21CNR=20');

try
  Post.FormPost(FUrl, Params, IrbUID);
except
  on E: Exception do
    writeln(E.Message);
end;   
 
  writeln(IrbUID.Text);

  Params.Free;
  Post.Free;
end.


В винде код работает - получаю нужную страничку с сервера. Во FreeBSD 12.1 код не работает - в качестве ответа получаю "Access violation". В FreeBSD 10 код работает - получаю нужную страничку с сервера.

У кого какие сображения будут по этому поводу?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TFPHTTPClient и FreeBSD

Сообщение grot » 27.03.2020 13:15:58

I think, the point is :
httpS
Try another site ( http ONLY ) -> then check SSL client ( libs for HTTPS ) in FreeBSD 12.1
or
use instead Ararat Synapse ...
grot
новенький
 
Сообщения: 74
Зарегистрирован: 13.02.2010 16:33:03

Re: TFPHTTPClient и FreeBSD

Сообщение Vadim » 27.03.2020 13:47:26

grot
Thanks for answer.
1. Another (HTTP) sites is work.
2. Synapse work with HTTP, but does not work with https. LNET - is the same problem.

I'll think about libs for HTTPS, but I didn’t put anything extra on the FreeBSD 10.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TFPHTTPClient и FreeBSD

Сообщение grot » 27.03.2020 14:52:42

Good !
Your program just can not find SSL files (SO's)
Just make some symlinks (from SSL file names your program is using - to system SSL files )

For example - here the SSL file names your program is using

from Synapse ssl_openssl_lib.pas
Код: Выделить всё
{$IFDEF CIL}
const
  {$IFDEF LINUX}
  DLLSSLName = 'libssl.so';
  DLLUtilName = 'libcrypto.so';
  {$ELSE}
  DLLSSLName = 'ssleay32.dll';
  DLLUtilName = 'libeay32.dll';
  {$ENDIF}
{$ELSE}
var
  {$IFNDEF MSWINDOWS}
    {$IFDEF DARWIN}
    DLLSSLName: string = 'libssl.dylib';
    DLLUtilName: string = 'libcrypto.dylib';
    {$ELSE}
    DLLSSLName: string = 'libssl.so';
    DLLUtilName: string = 'libcrypto.so';
    {$ENDIF}
  {$ELSE}
  DLLSSLName: string = 'ssleay32.dll';
  DLLSSLName2: string = 'libssl32.dll';
  DLLUtilName: string = 'libeay32.dll';
  {$ENDIF}
{$ENDIF}
grot
новенький
 
Сообщения: 74
Зарегистрирован: 13.02.2010 16:33:03


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru