Просмотр полной версии : Проверить аккаунт на валидность[Need help]
cheater_man
11.05.2010, 21:59
Привидите пожалуйста пример.
ЯП любой(Но желательно c#).
http://limoncash.com/
Отправляеш постом на "http://limoncash.com/":
form[user]=логин
form[password]=пароль
enter=
Далее парсишь ответ, если "Ошибка ввода." то выводишь сообщение о ошибке, если нет - делаешь что тебе нужно...
:D
cheater_man
11.05.2010, 23:05
Отправляеш постом на "http://limoncash.com/":
Далее парсишь ответ, если "Ошибка ввода." то выводишь сообщение о ошибке, если нет - делаешь что тебе нужно...
:D
:D
Это то я сделал:
wb.Document.GetElementById("form[user]").InnerText = textBox1.Text;
wb.Document.GetElementById("form[password]").InnerText = textBox2.Text;
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
Как узнать валидный или нет че-то не допрет?
Как парсить текст?
Ferrari california
11.05.2010, 23:08
Если урл http://limoncash.com/?mod=news&page=1 то валид
else
не валид
понял ?
cheater_man
11.05.2010, 23:15
Если урл http://limoncash.com/?mod=news&page=1 то валид
else
не валид
понял ?
И это ясно(
вот код
wb.Document.GetElementById("form[user]").InnerText = textBox1.Text;
wb.Document.GetElementById("form[password]").InnerText = textBox2.Text;
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
do
{
Application.DoEvents();
} while (wb.IsBusy != false);
if (curr.Equals("http://limoncash.com/?mod=news&page=1"))
{
MessageBox.Show("Yes");
wb.Stop();
}
else
{
MessageBox.Show("No");
wb.Stop();
}
Просто кнопка даже не нажалась а No уже вылетело((
Что делаю не так?
Ferrari california
11.05.2010, 23:19
я изучаю с# так что могу ошибаться смотри
wb.Document.GetElementById("form[user]").InnerText = textBox1.Text;
wb.Document.GetElementById("form[password]").InnerText = textBox2.Text;
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
//авторизуемся вроде верно
do
{
Application.DoEvents();
} while (wb.IsBusy != false);//попробуй тут тру поставить
if (curr.Equals("http://limoncash.com/?mod=news&page=1"))
{
MessageBox.Show("Yes");
wb.Stop();
}
else
{
MessageBox.Show("No");
wb.Stop();
}
вообще у тя где ошибку выдает ?
cheater_man
11.05.2010, 23:20
Проблема решена)
С# код
string curr = wb.Url.ToString();
if (curr.Equals("http://limoncash.com/"))
{
wb.Document.GetElementById("form[user]").InnerText = textBox1.Text;
wb.Document.GetElementById("form[password]").InnerText = textBox2.Text;
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
do
{
Application.DoEvents();
} while (wb.IsBusy != false);
}
else if (curr.Equals("http://limoncash.com/?mod=news&page=1"))
{
MessageBox.Show("Yes");
wb.Stop();
}
else
{
MessageBox.Show("No");
wb.Stop();
}
}
Ferrari california
11.05.2010, 23:22
string curr = wb.Url.ToString();
if (curr.Equals("http://limoncash.com/"))
ахахаха точно ) где он будет искать поля для вода,красава + те самому ток допер
cheater_man
12.05.2010, 00:08
Проблема решена)
С# код
string curr = wb.Url.ToString();
if (curr.Equals("http://limoncash.com/"))
{
wb.Document.GetElementById("form[user]").InnerText = textBox1.Text;
wb.Document.GetElementById("form[password]").InnerText = textBox2.Text;
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
do
{
Application.DoEvents();
} while (wb.IsBusy != false);
}
else if (curr.Equals("http://limoncash.com/?mod=news&page=1"))
{
MessageBox.Show("Yes");
wb.Stop();
}
else
{
MessageBox.Show("No");
wb.Stop();
}
}
как можно заменить эти две строчки?
wb.Document.GetElementById("enter").Focus();
SendKeys.Send("{ENTER}");
cheater_man
12.05.2010, 00:28
:D
wb.Document.GetElementById("enter").InvokeMember("click");
RedFern.89
12.05.2010, 09:17
на Delphi это будет вот так:
function CheckAcc(login, pass: string): boolean;
var
HTTP : TidHTTP;
Post : TSTringList;
Str : string;
begin
HTTP := TidHTTP.Create(nil);
Post := TStringList.Create;
with Post do
begin
Add('form[user]=' + login);
Add('form[password]' + pass);
Add('enter=');
end;
Str := HTTP.Post('http://limoncash.com/', Post);
// Проверка (если рабочий ак, то True, если же нет, то False)
If Pos('Ошибка ввода', str) <> 0 Then Result := False else Result := True;
Post.Free;
HTTP.Free
end;
вроде ничего не забыл)))
cheater_man
13.05.2010, 14:04
на Delphi это будет вот так:
function CheckAcc(login, pass: string): boolean;
var
HTTP : TidHTTP;
Post : TSTringList;
Str : string;
begin
HTTP := TidHTTP.Create(nil);
Post := TStringList.Create;
with Post do
begin
Add('form[user]=' + login);
Add('form[password]' + pass);
Add('enter=');
end;
Str := HTTP.Post('http://limoncash.com/', Post);
// Проверка (если рабочий ак, то True, если же нет, то False)
If Pos('Ошибка ввода', str) <> 0 Then Result := False else Result := True;
Post.Free;
HTTP.Free
end;
вроде ничего не забыл)))
Чет я не совсем врубился как проверяется "Ошибка ввода"?
Чет я не совсем врубился как проверяется "Ошибка ввода"?
В ответе проверяется(ищется).
If Pos('Ошибка ввода', str) <> 0 Then Result := False else Result := True;
cheater_man
14.05.2010, 01:38
Ясно.
Тут как я понял вся страница храница в переменной str?
А реализация на С# существует?
RedFern.89
14.05.2010, 03:29
я не знаю его синтаксиса)) ктонить думаю тебе переведет ))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot