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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2015, 10:29   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос Авторизоваться с помощью tidhttp

Доброго времени суток!
Есть сайт http://money-birds.in
Пытаюсь на нём авторизоваться, но без успешно. Вот что получает WireShark при авторизации через браузер
PHP код:
POST HTTP/1.1
Host
money-birds.in
Connection
keep-alive
Content
-Length52
Cache
-Controlmax-age=0
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://money-birds.in
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36
HTTPS: 1
Content-Type: application/x-www-form-urlencoded
Referer: http://money-birds.in/
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: __ddg_=AAAAAFV9tjM9YV55AyYGAg==; i=337205; PHPSESSID=jfomh2co2mqdotjj9o4rkdur92
 
log_email=myemail&pass=mypasswordHTTP/1.1 302 Found
Server: nginx/1.2.1
Date: Thu, 23 Jul 2015 16:30:35 GMT
Content-Type: text/html
Content-Length: 4086
Connection: keep-alive
X-Powered-By: PHP/5.4.4-14+deb7u14
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /account
Vary: Accept-Encoding
Content-Encoding: gzip 
Как это делаю
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  HTTP: TIdHTTP;
  CM : TidCookieManager;
  SL: TStringList;
  s: String;
begin
  try
    HTTP := TIdHTTP.Create(nil);
    CM := TidCookieManager.Create(HTTP);
    HTTP.AllowCookies := True;
    HTTP.CookieManager := CM;
    HTTP.HandleRedirects := True;
    HTTP.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
    HTTP.Request.AcceptLanguage := 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
    HTTP.Request.Host := 'money-birds.in';
    HTTP.Request.Referer := 'http://money-birds.in/';
    HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36';
    SL := TStringList.Create;
    try
      SL.Add('log_email=myemail&pass=mypassword');
      s := HTTP.Post('http://money-birds.in', SL);
    except
      on E: Exception do s := E.Message;
    end;
  finally
    FreeAndNil(CM); // Первым
    FreeAndNil(HTTP); // Вторым
    FreeAndNil(SL);
  end;

  ShowMessage(s);
end;
И получаю
PHP код:
POST HTTP/1.0
Connection
keep-alive
Content
-Typeapplication/x-www-form-urlencoded
Content
-Length56
Host
money-birds.in
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: identity
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Referer: http://money-birds.in/
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36

log_email=myemail&pass=mypasswordHTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Fri, 24 Jul 2015 07:38:40 GMT
Content-Type: text/html
Connection: close
X-Powered-By: PHP/5.4.4-14+deb7u14
Set-Cookie: PHPSESSID=63leisk6mga13mfii6tbti37n4; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding

<html>
код страницы
</html> 

Последний раз редактировалось Shouldercannon; 24.07.2015 в 10:45.
Shouldercannon вне форума Ответить с цитированием
Старый 24.07.2015, 10:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Куков не хватает... Посмотри в свойствах INDI как там Cookie включаются.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.07.2015, 11:45   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

А это не то?
Код:
    CM := TidCookieManager.Create(HTTP);
    HTTP.AllowCookies := True;
    HTTP.CookieManager := CM;
Shouldercannon вне форума Ответить с цитированием
Старый 24.07.2015, 12:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ой! Невнимательность сказалась.
Но все равно куков судя по всему не хватает...
Хотя ID сессии я смотрю подтянулась.
А в чем проявляется безуспешность? Почему ты решил что безуспешно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.07.2015, 12:12   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Вот чего не хватало
Код:
HTTP.HTTPOptions := [hoKeepOrigProtocol];
Нужен был HTTP/1.1, а не HTTP/1.0

Другая проблема. Как теперь поймать вот эту часть?
PHP код:
HTTP/1.1 302 Found
Server
nginx/1.2.1
Date
Fri24 Jul 2015 09:38:28 GMT
Content
-Typetext/html
Transfer
-Encodingchunked
Connection
keep-alive
X
-Powered-ByPHP/5.4.4-14+deb7u14
Set
-CookiePHPSESSID=l3s0g3lp44e867jfb0mn2jgte3path=/
ExpiresThu19 Nov 1981 08:52:00 GMT
Cache
-Controlno-storeno-cachemust-revalidatepost-check=0pre-check=0
Pragma
no-cache
Location
: /account
Vary
Accept-Encoding 
Код:
s := HTTP.Post('host', SL);
Эту часть в себе не имеет

Можно так
Код:
s := HTTP.Response.RawHeaders.GetText;
Но там нет
HTTP/1.1 302 Found

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу авторизоваться Serg94 Помощь студентам 5 05.02.2014 15:38
Не могу авторизоваться Terti PHP 12 16.10.2012 15:52
Не могу авторизоваться Евгений79 Работа с сетью в Delphi 1 23.05.2011 08:53
Авторизоваться на IP.B Kottik Работа с сетью в Delphi 19 21.08.2009 23:13
Не авторизоваться на сайтах. Kaunaz Помощь студентам 2 20.07.2009 19:31