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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2015, 23:47   #1
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
Сообщение Куки вконтакте synapse

Начал недавно изучать синапс и уже прошерстил форумы по этой теме, вобщем пытаюсь авторизоваться вконтакте по средствам синапса.
Посмотрел что передается снифером,
вот код самой проги
PHP код:
function Setkuki(const x2string):string;
var 
CookieList:TstringListcookie,x3:stringy,i:integer;
begin
x3
:=x2;
if 
pos('Set-Cookie:',x3)<>0 then
begin

CookieList
:=TstringList.Create;
  while 
Pos('Set-Cookie'x3) <> do
  
begin
    y 
:= Pos('Set-Cookie'x3);
    
:= PosEx(': 'x3y) + 2;
    
CookieList.Add(Copy(x3iPosEx(';'x3i) - i));
    
Delete(x3y10);
  
end;
  
cookie := 'Cookie: ';
  for 
:= 0 to CookieList.Count do
    
cookie := cookie CookieList.Strings[i] + '; ';
CookieList.Free;
end;
Result:=cookie;
end;

procedure TForm1.Button1Click(SenderTObject);
var
   
HTTPTHTTPSend;
   
sl :TStringList;
   
hashstring;
   
post TStringStream;
   
cookieses:string;
begin
     HTTP
:=THTTPSend.Create;;
     
sl:= TStringList.Create;
     
post:=TStringStream.Create;

     
//HTTP.AddPortNumberToHost:= false;

     //заголовки
     
HTTP.MimeType:= 'application/x-www-form-urlencodet';
     
HTTP.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0';
     
HTTP.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
     
HTTP.Headers.Add('Referer: http://m.vk.com/');
     
//=====================

     
HTTP.HTTPMethod('Get','http://m.vk.com/');
     
sl.LoadFromStream(HTTP.Document);
     
cookieses:=setkuki(http.Headers.Text);
     
memo2.Lines.Add(http.Headers.Text);
     
hash:=Pars('<form method="post" action="',sl.Text,'" novalidate>');
     
memo2.Lines.Add(hash);
     
sl.Clear;
     
HTTP.Clear;

     
HTTP.Cookies.Add(cookieses);
     
post.WriteString('email=логин&pass=пароль'); //формирую для отправки пост запроса
     
HTTP.Document.LoadFromStream(post);
     
HTTP.HTTPMethod('POST'hash);  // отправляю пост запрос на спарсеную ссылку
     
sl.LoadFromStream(HTTP.Document);
     
cookieses:=setkuki(http.Headers.Text);
     
showmessage(http.Headers.Text);
     
Memo1.Lines.add(http.Headers.Text);
     
Memo1.Lines.add(http.Cookies.Text);
     
http.Clear;

     
//парсю location
     
HTTP.Cookies.Add(cookieses);
     
edit1.Text:=Copy(Memo1.Lines[10],11,length(Memo1.Lines[10]));
     
HTTP.HTTPMethod('Get',edit1.Text); //делаю гет запрос
     
cookieses:=setkuki(http.Headers.Text);
     
sl.LoadFromStream(HTTP.Document);
     
http.Clear;

     
Memo1.Lines.add(http.Headers.Text);
     
Memo1.Lines.add(http.Cookies.Text);
     
Memo1.Lines.add(sl.Text); 
в общем в куках передается то что должно быть в location, как то оно там собирается и получается ссылка для дальнейшего редиректа, но у меня не получается получить куки, в чем проблема не понимаю, помогите народ

вот то что получаю

PHP код:
HTTP/1.1 302 Found
Server
Apache
Date
Sat10 Jan 2015 20:44:56 GMT
Content
-Typetext/htmlcharset=windows-1251
Content
-Length0
Connection
keep-alive
X
-Powered-ByPHP/3.10287
Pragma
no-cache
Cache
-controlno-store
P3P
CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Locationhttp://m.vk.com/login?role=fast&to=&s=0&sid=457775933507&dif=1&email=

remixlang=0
Cookie
remixlang=0

remixlang=0
Cookie
remixlang=0

remixmid=DELETED
remixsid
=DELETED
remixsid6
=DELETED
remixgid
=DELETED
remixemail
=DELETED
remixpass
=DELETED
remixapi_sid
=DELETED
remixpermit
=DELETED
remixsslsid
=DELETED 

Последний раз редактировалось albionseo; 10.01.2015 в 23:50.
albionseo вне форума Ответить с цитированием
Старый 11.01.2015, 00:08   #2
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Класс THTTPSend сам сохраняет куки, ничего придумывать своё не стоит =)
Lardes вне форума Ответить с цитированием
Старый 11.01.2015, 00:17   #3
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
По умолчанию

почему тогда я их не вижу?
albionseo вне форума Ответить с цитированием
Старый 11.01.2015, 00:23   #4
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

HTTP.Cookies.Text ?
Lardes вне форума Ответить с цитированием
Старый 11.01.2015, 00:27   #5
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Lardes Посмотреть сообщение
HTTP.Cookies.Text ?
ну да, выдает мне только
PHP код:
remixlang=0
remixmid
=DELETED
remixsid
=DELETED
remixsid6
=DELETED
remixgid
=DELETED
remixemail
=DELETED
remixpass
=DELETED
remixapi_sid
=DELETED
remixpermit
=DELETED
remixsslsid
=DELETED 
а должен

PHP код:
Set-Cookieh=1expires=Thu21 Jan 2016 10:49:20 GMTpath=/; domain=login.vk.comHttpOnly
Set
-Cookies=1expires=Sat02 Jan 2016 18:37:06 GMTpath=/; domain=login.vk.comsecureHttpOnly
Set
-Cookiel=251624135expires=Fri01 Jan 2016 09:50:07 GMTpath=/; domain=login.vk.comsecureHttpOnly
Set
-Cookiep=d6ca0d0487ade76fa5cf4a877ac90787b3f4dc410c940e54a388bexpires=Sat02 Jan 2016 23:23:40 GMTpath=/; domain=login.vk.comsecureHttpOnly
Set
-Cookieremixq_2e867b206ef87a38a807699160223fc0=ad7353f69ff8eb10e1path=/; domain=.vk.comHttpOnly
Location
http://m.vk.com/login?role=fast&to=&s=1&__q_hash=2e867b206ef87a38a807699160223fc0 
вот location сформирован как раз из этой строчки

remixq_2e867b206ef87a38a80769916022 3fc0
Код:
Location: http://m.vk.com/login?role=fast&to=&s=1&__q_hash=2e867b206ef87a38a807699160223fc0

а я это получаю
Код:
http://m.vk.com/login?role=fast&to=&s=0&sid=158193201591&dif=1&email=

Последний раз редактировалось albionseo; 11.01.2015 в 00:29.
albionseo вне форума Ответить с цитированием
Старый 11.01.2015, 07:19   #6
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
Сообщение от albionseo Посмотреть сообщение
ну да, выдает мне
Цитата:
Сообщение от albionseo Посмотреть сообщение
а должен
Значит это и вернул сервер. И тут как не перехватывай, перехватишь то, что вернулось. Вангую. Сервер не только чистит куки, но и даёт редирект на нужную страницу с новыми кукамии, а ты редирект не делаешь.

Последний раз редактировалось WinCoder; 11.01.2015 в 07:28.
WinCoder вне форума Ответить с цитированием
Старый 11.01.2015, 13:50   #7
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от WinCoder Посмотреть сообщение
Значит это и вернул сервер. И тут как не перехватывай, перехватишь то, что вернулось. Вангую. Сервер не только чистит куки, но и даёт редирект на нужную страницу с новыми кукамии, а ты редирект не делаешь.
Вот что снифер выдает
PHP код:
ttps://login.vk.com/?act=login&_origin=http://m.vk.com&ip_h=7fdd3431a3310d668b&role=pda&utf8=1

POST /?act=login&_origin=http://m.vk.com&ip_h=7fdd3431a3310d668b&role=pda&utf8=1 HTTP/1.1
Hostlogin.vk.com
User
-AgentMozilla/5.0 (Windows NT 6.1WOW64rv:34.0Gecko/20100101 Firefox/34.0
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://m.vk.com/login
Cookie: remixlang=0; remixflash=16.0.0; remixscreen_depth=24; remixdt=0; remixseenads=0; audio_vol=22; remixrefkey=395c5a17fe8f77bda1; t=bf81fd891fe184ee666ac06a; remixstid=508608265_dad6b74159c19bc55d; remixmdevice=1366/768/1/!!-!!!!; remixtst=5fedbb9e; remixmdv=rdYMuFND9hak3cCR
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 36
email=12345pass=12345
HTTP/1.1 302 Found
Server: nginx
Date: Sun, 11 Jan 2015 10:47:29 GMT
Content-Type: text/html; charset=windows-1251
Content-Length: 0
X-Powered-By: PHP/3.10293
Pragma: no-cache
Cache-Control: no-store
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: h=1; expires=Fri, 08 Jan 2016 03:46:09 GMT; path=/; domain=login.vk.com; HttpOnly
Set-Cookie: s=1; expires=Sun, 03 Jan 2016 16:08:35 GMT; path=/; domain=login.vk.com; secure; HttpOnly
Set-Cookie: l=251624135; expires=Fri, 08 Jan 2016 11:44:10 GMT; path=/; domain=login.vk.com; secure; HttpOnly
Set-Cookie: p=dce9ce4b626adbf0dd1bad0083a7061d398f185f1469a5bd1fe8b; expires=Sun, 17 Jan 2016 06:54:59 GMT; path=/; domain=login.vk.com; secure; HttpOnly
Set-Cookie: remixq_254b5b980f3649ef6a1b484fb09f4654=280424983471815195; path=/; domain=.vk.com; HttpOnly
Location: http://m.vk.com/login?role=fast&to=&s=1&__q_hash=254b5b980f3649ef6a1b484fb09f4654
X-Firefox-Spdy: 3.1
----------------------------------------------------------
http://m.vk.com/login?role=fast&to=&s=1&__q_hash=254b5b980f3649ef6a1b484fb09f4654

GET /login?role=fast&to=&s=1&__q_hash=254b5b980f3649ef6a1b484fb09f4654 HTTP/1.1
Host: m.vk.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept
-Languageru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept
-Encodinggzipdeflate
Referer
http://m.vk.com/login
Cookieremixlang=0remixflash=16.0.0remixscreen_depth=24remixdt=0remixseenads=0audio_vol=22remixrefkey=395c5a17fe8f77bda1remixstid=508608265_dad6b74159c19bc55dremixmdevice=1366/768/1/!!-!!!!; remixtst=5fedbb9eremixmdv=rdYMuFND9hak3cCRremixq_254b5b980f3649ef6a1b484fb09f4654=280424983471815195
Connection
keep-alive

HTTP
/1.1 302 Found
Server
Apache
Date
Sun11 Jan 2015 10:47:29 GMT
Content
-Typetext/htmlcharset=windows-1251
Content
-Length20
Connection
keep-alive
X
-Powered-ByPHP/3.10293
Set
-Cookieremixq_254b5b980f3649ef6a1b484fb09f4654=DELETEDexpires=Thu01 Jan 1970 00:00:01 GMTpath=/; domain=.vk.com
Set
-Cookieremixq_254b5b980f3649ef6a1b484fb09f4654=DELETEDexpires=Thu01 Jan 1970 00:00:01 GMTpath=/; domain=.vk.com
Set
-Cookieremixsid=25f00763efd6c710332af8fde7539f775f9aa0a723021406ebf33expires=Sun17 Jan 2016 15:45:47 GMTpath=/; domain=.vk.com
Set
-Cookieremixtemp_sid=DELETEDexpires=Thu01 Jan 1970 00:00:01 GMTpath=/; domain=.vk.com
Pragma
no-cache
Cache
-Controlno-store
P3P
CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Location: /
Content-Encodinggzip
---------------------------------------------------------- 
albionseo вне форума Ответить с цитированием
Старый 11.01.2015, 13:54   #8
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
По умолчанию

1 - делаю гет на главную, для парса ссылки
2 - по ней пост, с логином и паролем
3 - получаю ответ от сервес о редиректе в location, но ссылка не та что нужна т.к. кук нет, куда копать, кто делал авторизацию в вк?
т.е. куки после пост запроса должны быть, только потом редирект

Последний раз редактировалось albionseo; 11.01.2015 в 14:01.
albionseo вне форума Ответить с цитированием
Старый 11.01.2015, 14:46   #9
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Писал давно, за актуальность не ручаюсь. А по хорошему лучше авторизовываться через OAuth-авторизацию или через прямую авторизацию.
Вложения
Тип файла: zip Authorization Library 1.0.0.1.zip (5.2 Кб, 24 просмотров)
Lardes вне форума Ответить с цитированием
Старый 11.01.2015, 15:02   #10
albionseo
Пользователь
 
Регистрация: 02.01.2015
Сообщений: 17
По умолчанию

нет, задача другая стоит
albionseo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куки Synapse Pearl777 Работа с сетью в Delphi 21 05.03.2013 11:43