Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2016, 15:27   #11
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
Просто настоящая проблема в том, что с помощью делфи я не могу сделать Get-запрос по https простоколу. В делфи для этого нужен TIdHTTP и TIdSSLIOHandlerSocketOpenSSL объекты. При выполнении Get запроса программа ругается could not load ssl library
Видимо неправильно обработку запроса делал, а на Visual C# 2010 у него есть готовая DLL которая все четко делает, у него на Delphi не получается сделать такого рода Get запросы, можно просто помочь ему на дельфи все это сделать.
Хотелось бы от него услышать какого рода запрос должен быть

Последний раз редактировалось Aliens_wolfs; 19.12.2016 в 15:33.
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.12.2016, 15:32   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы даже тот пост до конца не прочитали или вам просто пофлудить?..
p51x на форуме Ответить с цитированием
Старый 19.12.2016, 15:37   #13
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Все я читал, просто методами дельфи наверное можно все это сделать.
Вам же FaTaL и WorldMaster все разъяснили

Последний раз редактировалось Aliens_wolfs; 19.12.2016 в 15:42.
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.12.2016, 15:49   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Можно. И в том же посте он рассказывает как.
p51x на форуме Ответить с цитированием
Старый 19.12.2016, 15:51   #15
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Возможно что он что то не так делал на дельфи
Aliens_wolfs вне форума Ответить с цитированием
Старый 19.12.2016, 15:58   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Именно. И он это сам писал. Даже в этой теме.
p51x на форуме Ответить с цитированием
Старый 19.12.2016, 20:46   #17
3dik
 
Регистрация: 15.02.2013
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Хотелось бы от него услышать какого рода запрос должен быть
Пробовал я и так как Вы написали мне вот:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var HTTP: TIdHTTP;
sslHandler : TIdSSLIOHandlerSocketOpenSSL;
begin
 HTTP := TIdHTTP.Create(nil);
 sslHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
 http.IOHandler := sslHandler; //Так как запрос отправляю по https протоколу, добавляю ссл хандлер
 try
   HTTP.HandleRedirects := true;
   HTTP.Get('https://ru.wikipedia.org/wiki/Заглавная_страница');
   Showmessage(HTTP.Request.URL);
   finally
    HTTP.Free;
end;
end;
Ошибка Could not load SSL Library.
Вот и проблема что для страниц по протоколу https нужно указывать IOHandler в TIdHTTP объекте. При этом нужны две библы для ссл libeay32.dll, ssleay32.dll. я их кидал и в папку с исполняемым файлом своей проги и в system32 - бесполезняк. Они не подходят чтоли. У меня Embarcadero RAD Studio 2010, версия Indy 10.5.5
3dik вне форума Ответить с цитированием
Старый 19.12.2016, 21:15   #18
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Это можно попробовать реализовать на голом сокете WinSock, сейчас попробую накидать код, где то у меня были наработки, Можно еще на Synapse модулях попробовать там вроде SSL норм

Последний раз редактировалось Aliens_wolfs; 20.12.2016 в 03:33.
Aliens_wolfs вне форума Ответить с цитированием
Старый 20.12.2016, 06:54   #19
3dik
 
Регистрация: 15.02.2013
Сообщений: 7
По умолчанию

жду)
3dik вне форума Ответить с цитированием
Старый 20.12.2016, 11:07   #20
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Да уж на synapse тоже не работает. Хотя раньше https запросы вроде нормально работали. Просто сертификат подставляешь с опере экспортированный и все должно было работать, но нет.

Код:
   
var pList : TStringList;
httpsend: THTTPSend;
begin
 pList := TStringList.Create;
 httpsend:=THTTPSend.Create;  
               httpsend.Protocol := '1.1';
               httpsend.Sock.SSL.CertificateFile:='12345.cer';
               httpsend.Sock.SSL.CertCAFile:='1234.cer';
               httpsend.Sock.SSLDoConnect;
               httpsend.HTTPMethod('get','https://ru.wikipedia.org/wiki/Заглавная_страница');
               pList.LoadFromStream(httpsend.Document);
               Memo1.Lines.Add((pList.Text));
А через WebBrowser1 не пробовал? Правда решение не очень правильное но все же. С ним работает

Код:
procedure WaitForBrowser(WB: TWebbrowser);
begin
  while (WB.ReadyState <> READYSTATE_COMPLETE)
    and not (Application.Terminated) do
  begin
    Application.ProcessMessages;
    Sleep(0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
WebBrowser: TWebBrowser;
DocStream: TStringStream;
begin
WebBrowser:= TWebBrowser.Create(nil);
DocStream:= TStringStream.Create('');
try
   WebBrowser.ParentWindow:= Handle;
   WebBrowser.Hide;
   WebBrowser.Navigate('https://ru.wikipedia.org/wiki/Заглавная_страница');
   WaitforBrowser(WebBrowser);
   (WebBrowser.Document as IPersistStreamInit).Save(TStreamAdapter.Create(DocStream), false);
   DocStream.Position:= 0;
   Memo1.Lines.LoadFromStream(DocStream); // Получаем страницу в Memo
finally
WebBrowser.free;
DocStream.free;
end;
end;

Последний раз редактировалось Aliens_wolfs; 20.12.2016 в 12:11.
Aliens_wolfs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bass.dll в delphi 2010 Fobes Помощь студентам 1 18.04.2014 12:35
Visual Studio 2010 и SharePoint 2010 glinka-82 Общие вопросы .NET 0 21.03.2012 22:37
Delphi XE vs Visual Basic 2010 ~Ё->77 Софт 5 01.08.2011 18:31
Visual C++ 2010 и msvcr100.dll и др. Styks Visual C++ 4 13.06.2011 23:55
Совместимость LibMySQL.dll с Delphi 2010 kGpROGER БД в Delphi 1 30.12.2010 15:09