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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 03:39   #1
sanco
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию Авторизация на сайте

Обьясните, что не так делаю? Есть догадка, что при редиректе, кукисы как то неправильно записываются, но в кукисах, я пока вообще ничего не понимаю.
Вот такие куки записываются у меня, когда я пытаюсь авторизоваться через делфи.
Цитата:
PHPSESSID=05dfd7840a253bdccd96d6e4f 7cd6c75; path=/; domain=albumwash.com
а вот такие когда, через браузер:
Цитата:
PHPSESSID=48f945f083ef1495e8aa93e30 880a18f; AlbumWashRef=true; IDstack=%2C401566%2C; from=albumwash.com; bbsessionhash=c59c2ce3afb106b2d3806 a6ae10d8cb7; bblastvisit=1363472793; bblastactivity=0
КОд:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
Http : TidHttp;
Data : TStringList;
s: String;
begin
try
Http := TIdHTTP.Create(Self);
Data := TStringList.Create;
Http.AllowCookies := true;
Http.CookieManager := IdCookieManager1;
Http.HandleRedirects := true;

Http.Request.Host:='albumwash.com';
Http.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';
Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Http.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
Http.Request.AcceptCharSet:='window s-1251,utf-8;q=0.7,*;q=0.3';
Http.Request.Referer:='http://albumwash.com/';


Data.Add('user=zaparilsja');
Data.Add('pass=parlament');
Data.Add('login=Login');

s := Http.Post('http://albumwash.com/index.php',Data);
memo1.text:=s;
memo2.text:=http.Get('http://albumwash.com/index.php');
finally
Data.Free;
IdCookieManager1.Free;
Http.Free;
end;

end;
sanco вне форума Ответить с цитированием
Старый 17.03.2013, 06:22   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Вы не правильно делаете авторизацию т.к. сервер не передает вам bbsessionhash, а браузеру отдает на ура.
Вот сниффер:
Код:
user=User+Name&pass=Password&login=Login&remember_me=on
=>
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Http : TidHttp;
Data : TStringList;
s: String;
begin
try
Http := TIdHTTP.Create(Self);
Data := TStringList.Create;
Http.AllowCookies := true;
Http.CookieManager := IdCookieManager1;
Http.HandleRedirects := true;

Http.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22';
Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Http.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
Http.Request.AcceptCharSet:='window s-1251,utf-8;q=0.7,*;q=0.3';
Http.Request.Referer:='http://albumwash.com/';


Data.Add('user=zaparilsja');
Data.Add('pass=parlament');
Data.Add('login=Login');
Data.Add('remember_me=on');


s := Http.Post('http://albumwash.com/index.php',Data);
memo1.text:=s; 
memo2.text:=http.Get('http://albumwash.com/index.php');
finally
Data.Free;
IdCookieManager1.Free;
Http.Free;
end;

end;
Кольша вне форума Ответить с цитированием
Старый 17.03.2013, 17:01   #3
sanco
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Кольша Посмотреть сообщение
Вы не правильно делаете авторизацию т.к. сервер не передает вам bbsessionhash, а браузеру отдает на ура.
Ну не знаю, вы сами пробовали авторизоваться на этом сайте, через idhhtp?
У меня всё равно ничего не выходит.
Заголовок моего пост запроса:
Цитата:
POST /index.php HTTP/1.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 58
Host: albumwash.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: window s-1251,utf-8;q=0.7,*;q=0.3
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Referer: http://albumwash.com/
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
Ответ сервере:
Цитата:
HTTP/1.0 200 OK
X-Powered-By: PHP/5.4.8
Set-Cookie: PHPSESSID=86c333ac836cb08afc3075fef 5a7b66e; path=/
Set-Cookie: AlbumWashAuth=397669.6ed927f16dc8a0 d51b0e7c30326e3a4f; expires=Tue, 16-Apr-2013 12:29:41 GMT; path=/; domain=.albumwash.com
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
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Content-type: text/html
Connection: close
Date: Sun, 17 Mar 2013 12:29:41 GMT
Server: lighttpd/1.5.0
Заголовок когда через браузер:
Цитата:
POST /index.php HTTP/1.1
Host: albumwash.com
Connection: keep-alive
Content-Length: 57
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://albumwash.com
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
Content-Type: application/x-www-form-urlencoded
Referer: http://albumwash.com/index.php
Accept-Encoding: gzip,deflate,sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3
Cookie: IDstack=%2C395541%2C; PHPSESSID=3adae8bacdd634e0b9783e2d4 15a63fa; bblastvisit=1363259150; bblastactivity=0; bbsessionhash=861d628989eee4a6874a4 5fd3dd7efbb; from=albumwash.com
Ответ сервера:
Цитата:
HTTP/1.1 200 OK
X-Powered-By: PHP/5.4.8
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
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Set-Cookie: AlbumWashAuth=397669.6ed927f16dc8a0 d51b0e7c30326e3a4f; expires=Tue, 16-Apr-2013 12:29:00 GMT; path=/; domain=.albumwash.com
Content-type: text/html
Transfer-Encoding: chunked
Date: Sun, 17 Mar 2013 12:29:00 GMT
Server: lighttpd/1.5.0

Сервер вроде как передаёт мне cookie, но почему то они не хотят записываться, так как при следующем запросе в cookie у меня висит только
Цитата:
PHPSESSID=86c333ac836cb08afc3075fef 5a7b66e
, а вот куда девается вот это я без понятия
Цитата:
AlbumWashAuth=397669.6ed927f16dc8a0 d51b0e7c30326e3a4f; expires=Tue, 16-Apr-2013 12:29:41 GMT; path=/; domain=.albumwash.com
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Может у меня IdCookieManager1, как то не правильно работает ?
Подскажите как вторую часть кукисов записать или что вообще происходит ? По ответу видно, что авторизация происходит, сервер кидает мне Auth куки, но они куда то пропадают

Удалил CookieManager, ничего не произошло, всё работает, как и раньше.

Последний раз редактировалось sanco; 17.03.2013 в 20:34.
sanco вне форума Ответить с цитированием
Старый 17.03.2013, 21:40   #4
sanco
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Все разобрался, кривой Делфи попался. Удалил, установил XE3, всё работает как часы
sanco вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на сайте Alexunkow Общие вопросы Delphi 0 08.12.2012 12:59
Авторизация на сайте Alex2009 Работа с сетью в Delphi 8 30.12.2011 19:12
Авторизация на сайте. Pliks Общие вопросы по Java, Java SE, Kotlin 5 08.06.2010 13:51
Авторизация на сайте Abadd0N Работа с сетью в Delphi 14 10.06.2009 12:31
Авторизация на сайте gusluk Работа с сетью в Delphi 3 20.11.2008 14:40