Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

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

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

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2012, 02:29   #1
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
Вопрос post indy приложения

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

TIdHTTP, TIdCookieManager, TIdSSLIOHandlerSocketOpenSSL.
В свойствах TIdHTTP установлено: IOHandler=IdSSLIOHandlerSocketOpenS SL1 и CookieManager=IdCookieManager

Код:
var   data:tstringlist;
       pageprofile:string;
begin

idHttp1.AllowCookies := true;
idHttp1.CookieManager := IdCookieManager1;
idHttp1.HandleRedirects := true;

 data:=tstringlist.create;
 data.Add('act=login');
 data.Add('q=1');
 data.Add('al_frame=1');
 data.Add('expire=');
 data.Add('captcha_sid=');
 data.Add('captcha_key=');
 data.Add('from_host=vk.com');
 data.add('ip_h=');

 data.Add('email=mail');
 data.Add('pass=pass'); 
pageprofile:=idHTTP1.Post('http://login.vk.com/?act=login', data);
выдает ошибку
Код:
Exception class EIdReadTimeout with message 'Read Timeout'.
прочитал http://programmersforum.ru/showthread.php?t=185309

подскажите в чем ошибка может быть
заранее Спасибо.
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Старый 31.01.2012, 06:21   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

где та на форуме была статья инди не принимает некоторые cookie с вконтакте вот их и надо получить!и почитайте на auth.ru как авторизоваться get запросом

Последний раз редактировалось Кольша; 31.01.2012 в 06:23. Причина: _
Кольша вне форума Ответить с цитированием
Старый 31.01.2012, 12:15   #3
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
По умолчанию

авторизация проходит но лишь в случаи неиспользования TIdSSLIOHandlerSocketOpenSSL

auth.ru свободный домен
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Старый 01.02.2012, 13:29   #4
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

ну немного ошибся вообщем юзайте поиск по форуму есть тема там все описано тоько там подправить чуть и все ок TIdSSLIOHandlerSocketOpenSSL не нужен будет
Кольша вне форума Ответить с цитированием
Старый 02.02.2012, 21:52   #5
zarginava
Новичок
Джуниор
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

Код:
var
	Enter:TStringList;
	reg:TRegExpr;
	uri: TIdUri;
	temp:string;
begin
	Enter:=TStringList.Create;
	Enter.add('act=login');
	Enter.Add('al_test=3');
	Enter.Add('email='+edit1.text);
    Enter.Add('pass='+edit2.Text);
    uri:=TIdUri.Create('http://vkontakte.ru');
    idhttp1.RedirectMaximum:=2;
    reg:=TRegExpr.create;
    reg.Expression:='[0-9a-z]{60}';
    temp:=idhttp1.post('http://login.vk.com', Enter);
    temp:=idhttp1.response.RawHeaders.GetText;
    reg.Exec(temp);
    if reg.Match[0]<>'' then
		begin
			application.processmessages ;
			idcookiemanager1.AddServerCookie('remixsid='+reg.Match[0], uri);
			messageDlg('Авторизация прошла успешно!', mtInformation, [mbOk], 0);
		end
    else
    	begin
      		messageDlg('Неверный логин или пароль!', mtInformation, [mbOk], 0);
    	end;
end;
end.
исправь там Vkontakte.ru на Vk.com и скачай модуль regexpr засунь в папку проекта,
помог +
zarginava вне форума Ответить с цитированием
Старый 03.02.2012, 00:49   #6
divwond
Пользователь
 
Регистрация: 22.05.2009
Сообщений: 45
По умолчанию

спасибо.
авторизацию проходит как и раньше,если не использую TIdSSLIOHandlerSocketOpenSSL , в таком случае дальше Exception class EIdIOHandlerPropInvalid with message 'IOHandler value is not valid'.
если использую Exception class EIdReadTimeout with message 'Read Timeout'.
«Не стыдно чего-нибудь не знать, но стыдно не хотеть учиться»

начало положено..Глубины Indy
divwond вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INDY Post, не получается отправить все параметры dlauser Работа с сетью в Delphi 3 11.01.2011 11:44
POST на indy HTTP/1.1 404 Not Found jskorvin Работа с сетью в Delphi 2 14.12.2010 13:52
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Не могу определить до конца данные отправки POST (INDY)) Steklorez Работа с сетью в Delphi 2 26.03.2010 18:20