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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2014, 21:34   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию ssl idhttp авторизация на сайте (ошибка)

Почему у меня вылетает ошибка? вот мой пост запрос....
Код:
data:= TStringlist.Create;
results:= TStringList.Create;
with idhttp1.Request do
begin
UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.13014 YaBrowser/13.12.1599.13014 Safari/537.36';
Host:='хост';
ContentType:='application/x-www-form-urlencoded';
Connection:='keep-alive';
IdHTTP1.RedirectMaximum:=1;
idhttp1.Request.AcceptCharSet:='utf-8';
end;
data.Add('login=');
data.Add('password=');
data.Add('submit=');
data.Add('AuthData.RememberMe=true');
data.Add('AuthData.ReturnUrl=');
data.Add('AuthData.Login='+form1.edit1.Text);
data.Add('AuthData.Password='+form1.edit2.text);
results.Text:= idhttp1.Post('сайтf', data);
Сначало выводит сообщение об ошибке и подсвечивается последняя строка а потом я компилирую повторно выводит сообщение "could not load ssl library"
жму ок потом повторно пытаюсь авторизоваться у меня все нормально...

Еще что самое интересное что в версии XE6 без запинок все авторизуется да и быстрее мне кажется....
Какой выход из данной ситуации? Обновить indy?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 19.08.2014, 22:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Какой выход из данной ситуации?
Кинуть библиотеки OpenSSL в каталог с экзешником или в System32
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.08.2014, 23:50   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Кинуть библиотеки OpenSSL в каталог с экзешником или в System32
кинул, не катит... Может библиотеки не подходят?

Кстати после того как я закинул в system32 у меня выходи такая ошибка "Connection Closed Gracefully"

Из книги "Глубины Инди":
9.4. Исключение EIdConnClosedGracefully

Многих Indy пользователей беспокоит исключение EIdConnClosedGracefully, которое часто возбуждается серверами, особенно HTTP и другими серверами. Исключение EIdConnClosedGracefully сигнализирует, что другая сторона умышленно закрыла соединение. Это не тоже самое, как потерянное соединение, которое может появляется в случае ошибки соединения. Если другая сторона закрыла соединение и сокет пытается писать или читать из него, то возбуждается исключениеEIdConnClosedGracefully. Это подобно попытке чтения или записи в файл, который был закрыт без вашего оповещения.

В некоторых случаях – это подлинное исключение и ваш код должен его обработать. В других случаях (обычно в серверах) это нормальное функционирование протокола и Indy обработает это за вас. Даже если Indy поймала его, когда вы работали в отладчике, то оно возбуждается в нем. Вы просто должны нажать F9 и продолжать и Indy обслужить это исключение, но отладчик постоянно надоедает вам. В том случае когда Indy ловит подобное исключение, ваши пользователи никогда не видят его в ваших программах, если только программа не запущена под отладчиком IDE.

Но мне это ничего не дало.... Надо по пробовать переустановить indy
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Stilet; 20.08.2014 в 10:37.
Fahman вне форума Ответить с цитированием
Старый 20.08.2014, 01:36   #4
denis76560
Форумчанин
 
Регистрация: 13.01.2010
Сообщений: 121
По умолчанию

вот рабочий кусок из моего проекта, обработай напильником под себя.

Код:
function TForm1.TorGet(const url : String) : AnsiString;
 var
 http : TIdHTTP;
 socks : TIdSocksInfo;
 stack : TIdIOHandlerStack;
 begin
 http := TIdHTTP.Create;
 socks := TIdSocksInfo.Create;
 stack := TIdIOHandlerStack.Create;
 try
 socks.Authentication:=saNoAuthentication;
 socks.Host:=host;
 socks.Port:=port;
 socks.Version:=svSocks4A;
 stack.TransparentProxy:=socks;
 http.IOHandler := stack;
 http.HandleRedirects:=true;
 http.ReadTimeout:=50000; 
 http.Request.Connection:='close';
 Result := http.Get(url);
 http.Free;
 socks.Free;
 stack.Free;
 except
 http.Free;
 socks.Free;
 stack.Free;
 raise ETorException.Create('HTTP PROTOCOL FAILED.CHECK IF TOR IS OK!');
 end;
 end;
denis76560 вне форума Ответить с цитированием
Старый 20.08.2014, 10:39   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
у меня выходи такая ошибка "Connection Closed Gracefully"
Это не ошибка. Это значит что компьютеры разорвали подключение по обоюдному согласию.
Жми "далее" и пусть код отрабатывает дальше.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2014, 11:02   #6
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это не ошибка. Это значит что компьютеры разорвали подключение по обоюдному согласию.
Жми "далее" и пусть код отрабатывает дальше.
Да ща по пробую Indy переустановить.... помню месяца 4 назад я сталкивался с этим потом переустановил Indy и хард сгорел) ща папытка номер 2=)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 20.08.2014, 11:19   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да ща по пробую Indy переустановить
Джизузгрит! О_о
А винду? Давай и ее снесем. И харды на SSD поменяем заодно. На хардах Инди не работает - версия такая.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.08.2014, 11:44   #8
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Джизузгрит! О_о
А винду? Давай и ее снесем. И харды на SSD поменяем заодно. На хардах Инди не работает - версия такая.
Не ну на delphi xe6 новее же версиявот я и решил поменять) На счет винды я тоже думал... Надоела WIn8

У кого есть нормальная indy? я все делал по инструкции чет не меняется хотя до этого норм менял без проблем...
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 20.08.2014, 11:59   #9
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Цитата:
Сообщение от Fahman Посмотреть сообщение
Не ну на delphi xe6 новее же версиявот я и решил поменять) На счет винды я тоже думал... Надоела WIn8

У кого есть нормальная indy? я все делал по инструкции чет не меняется хотя до этого норм менял без проблем...
https://cloud.mail.ru/public/8a84ca5....52_source.zip

Цитата:
Статья для тех кто не знает как обновить компонент Indy на Delphi
1. Первым делом скачайте и установите клиент SVN. Link : http://tortoisesvn.net/downloads
- После установки, загрузите актуальную версию инди с репозитория
- Адрес репозитория : https://svn.atozed.com:444/svn/Indy10/
- Пользователь : Indy-Public-RO
- Пароль не нужен.
- Если не хотите качать с репозитория, можете воспользоваться FTP:
- ftp://indy.fulgan.com/ZIP/

2. Теперь нам нужно избавиться от старой версии Indy. Для этого:
- 1. Заходим в Delphi.
- 2. Открываем меню Component ->> Install Packages.
- 3. Снимаем галочки со всех компонентов Indy и жмем Remove.
- 4. Закрываем Delphi и открываем папку куда он установлен.
- 5. С помощью поиска находим удаляем "остатки" от старого Indy. Также все файлы которые начинаются на Id.
- 6. Копируем скачанные компоненты Indy в папку Delphi\lib\Indy
- 7. Запускаем Delphi и заходим в меню tools ->> Environment Options ->> Library
- 8. Из строки Library Path удаляем все пути к Indy и добавляем :
- $(DELPHI)\Lib\Indy\System
- $(DELPHI)\Lib\Indy\Protocols
- $(DELPHI)\Lib\Indy\Core
- 9. Поочередно открываем файлы и жмем Compile
- IndySystemX0.dpk - X -версия Delphi
- IndyCoreX0.dpk
- IndyProtocolsX0.dpk
- 10. Затем открываем файлы
- dclIndyCoreX0.dpk
- dclIndyProtocolsX0.dpk
- И жмем Install
- 11. Перезапускаем Delphi, и любуемся обновлёнными компонентами Indy.

Узнать версию Indy:
Label1.Caption := IdHTTP.Version;
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 20.08.2014, 13:07   #10
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от dmitriegorovih Посмотреть сообщение
Все сделал как было описано выше, скопмпилировал нормально 3 файла а вот начал устанавливать у меня вышла ошибка

кликнул по ней вышла другая

это я не все удалил или пути не правильно указал?

UP) не охото как то оставлять все так)
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Stilet; 20.08.2014 в 23:07.
Fahman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на сайте idhttp Fahman Общие вопросы Delphi 21 10.01.2014 12:46
IdHttp+SSL mishax Работа с сетью в Delphi 16 15.08.2012 09:36
idhttp ssl авторизация отправка данных post tauxxx Работа с сетью в Delphi 3 31.05.2012 14:17
Авторизация на сайтах через IdHTTP не получается в чем ошибка ? gawrilowalex Работа с сетью в Delphi 1 23.06.2011 16:23
SSL в idhttp пауэрлифтинг Работа с сетью в Delphi 4 23.05.2010 20:32