Synapse в Linux и Windows

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

Synapse в Linux и Windows

Сообщение Random777 » 18.11.2017 15:48:56

Здравствуйте, помогите пожалуйста разобраться.
Если запрос идет через прокси на http адрес все ок, result 200
Если запрашиваю https - один и тот же код ведет себя в разных операционках по разному (

Под Windows так же все ок
Под Linux:
500
GET / HTTP/1.1
Host: ya.ru:443
Keep-Alive: 3000
Connection: keep-alive
User-Agent: Mozilla/5.0


Linux Ubuntu 16.04, OpenSSL установлен.

Код: Выделить всё
program proxy;
uses  classes,httpsend, blcksock,ssl_openssl;
var    url,result:string; HTTP:THttpSend;

begin
   url:='https://ya.ru';
   //url:='http://ruchess.ru';   
   HTTP:=THttpSend.Create;
   HTTP.KeepAliveTimeout:=3000;   
   HTTP.ProxyHost :='proxy';
   HTTP.ProxyPort := 'port';
   HTTP.Protocol:='1.1';
   HTTP.MimeType:='application/x-www-form-urlencoded';
   HTTP.UserAgent:='Mozilla/5.0';
   HTTP.HTTPMethod('GET',url);
   str(HTTP.ResultCode,result);
   writeln(result);
   writeln(HTTP.Headers.Text);
   HTTP.Free;
    read();
end
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение Ichthyander » 19.11.2017 14:39:41

У меня с synapse на моем сервере (Debian) тоже не получилось добиться работы https протокола, хотя в Windows с ним на том же коде все ok. Гуглил - вроде как проблема с версиями OpenSSL библиотеки. Вообщем, в конце концов плюнул и заюзал встроенный FPHTTClient (fcl-web) и все сразу заработало. Как вариант - попробуйте также
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Synapse в Linux и Windows

Сообщение *Rik* » 19.11.2017 18:35:28

Если посмотреть исходники Synapse, то видно, что под Linux компоненты ищут библиотеки с именами libssl.so и libcrypto.so, в системном каталоге таких явно нет, но есть что-то вроде libssl.so.1.0.2m, вам нужно сделать симлинки с именами libssl.so и libcrypto.so на те библиотеки, что есть в Вашем системном каталоге и все должно заработать.
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 426
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Synapse в Linux и Windows

Сообщение Random777 » 19.11.2017 19:08:25

*Rik* писал(а):вам нужно сделать симлинки с именами libssl.so и libcrypto.so

Увы линки есть, думаю может поставить более ранюю версию OpenSSL?

Добавлено спустя 6 минут 3 секунды:
Ichthyander писал(а): заюзал встроенный FPHTTClient (fcl-web)

Прошу прощения, а можно вас попросить образец кода выложить? С ходу не могу найти.
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение Ichthyander » 19.11.2017 19:34:48

Вот как раз работаю над библиотекой https://github.com/MstrVLT/TGBotLazarus ... rtypes.pas Принцип тот же, что и с synapse. См. реализацию функций HTTPPostFile, HTTPPostJSON.
Модуль откуда класс берется fphttpclient
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Synapse в Linux и Windows

Сообщение *Rik* » 19.11.2017 20:34:36

Random777 писал(а):
*Rik* писал(а):вам нужно сделать симлинки с именами libssl.so и libcrypto.so

Увы линки есть, думаю может поставить более ранюю версию OpenSSL?

Странно весьма... У нас в конторе не Ubuntu, но Mint и ALT Linux, несколько лет система на Synapse, не разу не было чтоб не работало по https.. Может версия самого Synapse какая-нибудь не такая...
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 426
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Synapse в Linux и Windows

Сообщение Random777 » 19.11.2017 21:25:32

Напрямую работает. Через прокси на HTTPS код 500 выдает.
А на HTTP через прокси пускает без проблем (

Synapse использую один и тот же.

Добавлено спустя 34 минуты 29 секунд:
*Rik* писал(а): не разу не было чтоб не работало по https.


Не подскажете какая у вас версия OpenSSL?
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение *Rik* » 19.11.2017 22:16:02

Random777 писал(а):Напрямую работает. Через прокси на HTTPS код 500 выдает.
А на HTTP через прокси пускает без проблем (

Synapse использую один и тот же.

Добавлено спустя 34 минуты 29 секунд:
*Rik* писал(а): не разу не было чтоб не работало по https.


Не подскажете какая у вас версия OpenSSL?

Так на прямую работает все же.. Я понял что на прямую https не работает.. Поэтому, пардон, про прокси не скажу...
На ALT OpenSSL 1.0.2m, что на Mint в конторе не могу сказать, если вспомню, может завтра посмотрю..
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 426
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Synapse в Linux и Windows

Сообщение Random777 » 19.11.2017 22:55:57

Ichthyander писал(а):Модуль откуда класс берется fphttpclient


Подскажите пожалуйста, с помощью какого свойства или метода прокси задается
Error: identifier idents no member "Proxy"
При этом
Код: Выделить всё
TFPHTTPClient = Class(TFPCustomHTTPClient)
  Published
    Property KeepConnection;
    Property Connected;
    Property IOTimeout;
    Property RequestHeaders;
    Property RequestBody;
    Property ResponseHeaders;
    Property HTTPversion;
    Property ServerHTTPVersion;
    Property ResponseStatusCode;
    Property ResponseStatusText;
    Property Cookies;
    Property AllowRedirect;
    Property MaxRedirects;
    Property OnRedirect;
    Property UserName;
    Property Password;
    Property OnPassword;
    Property OnDataReceived;
    Property OnHeaders;
    Property OnGetSocketHandler;
    Property Proxy;
end;

Подсмотрел здесь https://github.com/graemeg/freepascal/blob/master/packages/fcl-web/src/base/fphttpclient.pp
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение Ichthyander » 20.11.2017 01:58:24

Честно говоря, работу прокси на fphttpclient пока не тестил. Старые проекты, в которых использую прокси сделаны на synapse, но в новых пока не было такой необходимости. Но, судя по всему, за работу прокси отвечает свойство Proxy ) В данной реализации это отдельный компонент класса TProxyData, у которого есть свойства host, port, username... Больше пока не знаю

Добавлено спустя 3 минуты 30 секунд:
При этом компонент Proxy создается при первом обращении к нему через свойству Proxy...
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Synapse в Linux и Windows

Сообщение Random777 » 20.11.2017 12:46:45

Код: Выделить всё
program proxy3;
{$mode objfpc}
uses
  SysUtils, Classes, fphttpclient, sslsockets, fpopenssl;
begin
   With TFPHTTPClient.Create(Nil) do
      try      
         Proxy.Host:='78.111.114.50';
         Proxy.Port:=8080;
         writeln(Get('http://freepascal.ru'));
         //writeln(Get(''https://ya.ru'));
                       
      finally
         Free;
      end;

end.

Библиотека другая, а проблема с доступом по https через прокси осталась.
Видимо нужно разбираться с OpenSSL.
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение Ichthyander » 20.11.2017 13:52:26

Random777 писал(а):нужно разбираться с

А Вы уверены, что проблема именно в Вашем софте? Не все прокси поддерживают работу с https
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Synapse в Linux и Windows

Сообщение Random777 » 20.11.2017 14:28:05

Уверен, прокси выше указан только для примера.
Проверял на нескольких прокси и с нескольких рабочих станций.

Добавлено спустя 6 минут 32 секунды:
Мне кажется, мало кто использует Free Pascal в Linux для работы с Web да еще и через прокси ).
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

Re: Synapse в Linux и Windows

Сообщение Ichthyander » 20.11.2017 15:03:40

Мне кажется, мало кто использует Free Pascal в Linux для работы с Web

Очень даже часто. Посмотрите буржуйскую версию форума по Lazarus, раздел Networking and Web Programming http://forum.lazarus.freepascal.org/ind ... ,38.0.html
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 668
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Synapse в Linux и Windows

Сообщение Random777 » 20.11.2017 16:57:03

Похожая проблема с OpenSSL http://forum.lazarus.freepascal.org/index.php/topic,36883.0.html
И ее так и не решили (
Random777
новенький
 
Сообщения: 10
Зарегистрирован: 18.11.2017 14:46:53
Откуда: Ижевск

След.

Вернуться в Сети

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

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

Рейтинг@Mail.ru