Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.07.2012, 18:56
elwax_ex elwax_ex вне форума
Прохожий
 
Регистрация: 22.07.2012
Сообщения: 2
Репутация: 10
По умолчанию IdHTTP + SSL

Есть delphi xe2 пытаюсь авторизироватся на одном сайте с помощью компонента IdHTTP1 + IdSSLIOHandlerSocketOpenSSL1 (POST запрос ) авторизация как бы проходит с idHTTP1.Response.ResponseText = 'HTTP/1.1 302 Moved Temporarily' как правильно обрабатывать перенаправления (Header(Location : ............ ) в php ) также подключил куки менеджер но после запроса он (Form1.IdCookieManager1) пуст хотя в IdHTTP1.Response.RawHeaders.Text 'Set-cookie' ну и сами куки присутствуют. Пытался вручную вытащит куки и подставить в IdHTTP1.Request.RawHeaders.AddStrings('.....'); после чего GET запросом получить уже html код но не получается ...
Код:
procedure TForm1.Button5Click(Sender: TObject);
var
  s:string;
  i:integer;
  LoginInfo: TStringList;
  Response: TStringStream;
begin
  LoginInfo := TStringList.Create;
  Response := TStringStream.Create('');

  IdHTTP1.AllowCookies := True;
  IdHTTP1.HandleRedirects := True;
  IdHTTP1.CookieManager := Form1.IdCookieManager1;

  Form1.IdHTTP1.Request.CustomHeaders.Clear;
  Form1.IdHTTP1.Request.CustomHeaders.Add('POST /XXX/YY.php?m=login HTTP/1.1');
  Form1.IdHTTP1.Request.Accept:='text/html, application/xhtml+xml, */*';
  Form1.IdHTTP1.Request.Referer:='https://37.X.X.X/XXX/YY.php?m=login';
  Form1.IdHTTP1.Request.AcceptLanguage:='ru-RU';
  Form1.IdHTTP1.Request.UserAgent:='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)';
  Form1.IdHTTP1.Request.ContentType:= 'application/x-www-form-urlencoded';
  Form1.IdHTTP1.Request.AcceptEncoding := 'gzip, deflate';
  Form1.IdHTTP1.Request.Host := '37.X.X.X';
  //Content-Length	24
  Form1.IdHTTP1.Request.Connection := 'Keep-Alive';
  Form1.IdHTTP1.Request.CacheControl := 'no-cache';

  LoginInfo.Add('user=my_user');
  LoginInfo.Add('pass=my_pass');

  Form1.IdHTTP1.Post('https://37.X.X.X/XXX/YY.php?m=login',LoginInfo,Response);

  showmessage(IdHTTP1.Response.RawHeaders.Text);

  s:=idHTTP1.Response.ResponseText;
  s:= IdHTTP1.Response.Location;
  i:= IdHTTP1.Response.ResponseCode;
  s:= IdHTTP1.Response.Server;

  Form1.IdHTTP1.Request.CustomHeaders.Clear;
  Form1.IdHTTP1.Request.CustomHeaders.Add('GET /XXX/YY.php?m=home HTTP/1.1');
  Form1.IdHTTP1.Request.Accept:='text/html, application/xhtml+xml, */*';
  Form1.IdHTTP1.Request.Referer:='https://37.X.X.X/XXX/YY.php?m=login';

  Form1.IdHTTP1.Request.AcceptLanguage:='ru-RU';
  Form1.IdHTTP1.Request.UserAgent:='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)';
  Form1.IdHTTP1.Request.ContentType:= 'application/x-www-form-urlencoded';
  Form1.IdHTTP1.Request.AcceptEncoding := 'gzip, deflate';
  Form1.IdHTTP1.Request.Host := '37.X.X.X';
  Form1.IdHTTP1.Request.Connection := 'Keep-Alive';
  Form1.IdHTTP1.Request.CacheControl := 'no-cache';

  s:= Form1.IdHTTP1.Get('https://37.X.X.X/XXX/YY.php?m=home');

  showmessage(IdHTTP1.Response.RawHeaders.Text);


  s:=idHTTP1.Response.ResponseText;
  s:= IdHTTP1.Response.Location;
  i:= IdHTTP1.Response.ResponseCode;
  s:= IdHTTP1.Response.Server;


  Response.Free;
  LoginInfo.Free;

end;
Ответить с цитированием
  #2  
Старый 24.07.2012, 01:41
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

CustomHeaders и установка Host не нужны, метод и адрес Indy подставит в заголовки сам.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 30.07.2012, 01:26
elwax_ex elwax_ex вне форума
Прохожий
 
Регистрация: 22.07.2012
Сообщения: 2
Репутация: 10
По умолчанию

а в чем может быть проблема ?
Ответить с цитированием
  #4  
Старый 30.07.2012, 18:27
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Без нормального адреса не смогу проверить.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:08.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter