Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Delphi

Ответ
 
Опции темы
Старый 01.01.2011, 02:18   #1
anton_obuhov
Оператор ЭВМ
 
Регистрация: 25.10.2007
Сообщений: 30
Написано одно полезное сообщение
(для 2 участников)
Сообщение Авторизация Delphi

Привет всем!
С 2011 годом вас всех.
Теперь собственно вопрос. Я делаю программу для проекта wmmail.ru точнее делаю ее по пунктам.
1. Авторизация
2. Чтение писем
3. Серфинг и Автосерфинг

3. Шаг я полностью сделал
Теперь необходимо выполнить 1 шаг. В общем ситуация следующая:
Я использую компонент Indy чтобы послать post запрос на сайт, при этом авторизация проходит успешно авторизацию, но как только я пытаюсь перейти на сайт wmmail.ru в компоненте webbrowser мне пишут что я не авторизирован. Помогите исходный код ниже
procedure TForm1.Button3Click(SenderTObject);
var
list: 
TStringList;
begin
 
list := TStringList.Create;
  
WebBrowser1.Navigate('http://wmmail.ru/');
  list.
Add('cf=akk-login');
  list.
Add('ulogin=Мой логин');
  list.
Add('pass=Мой пароль');
  list.
Add('x=16');
  list.
Add('y=18');
     list.
Add('remember=on');
  try
memo1.lines.text := IdHTTP1.Post('http://wmmail.ru/index.php',list);
memo1.Lines.SaveToFile('aaa.htm');
WebBrowser1.Navigate(extractfilepath(application.exename)+'aaa.htm');

  finally

    list.
Free;
    
IdHTTP1.Disconnect;
  
end;
end
Как сделать так чтобы я мог быть до конца авторизирован ?
Сразу говорю я не программист поэтому если можете пожалуйста помогите строчками кода, мне в них легче разбираться чем в литературе. А если возможно просто исправьте код на правильный. Большое спасибо
(Offline)
 
Ответить с цитированием
Старый 02.01.2011, 06:05   #2
fall
Оператор ЭВМ
 
Регистрация: 08.12.2010
Адрес: Белорусь
Сообщений: 25
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Авторизация Delphi

Гляньте пример тут http://www.delphisources.ru/pages/so...n-mail.ru.html
Но лично я бы рекомендовал пользоваться библиотекой synapse.
Вообще интересно, как вам удалось написать код для серфинга, не залогонившись на сайт...
(Offline)
 
Ответить с цитированием
Старый 04.01.2011, 01:25   #3
fall
Оператор ЭВМ
 
Регистрация: 08.12.2010
Адрес: Белорусь
Сообщений: 25
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Авторизация Delphi

Если еще нужно, вот код, вырванный из моей одной проги. Необходим синапс.
function wmmail_ru_funcbool;
var
  
tempstring;
  
HTTPTHTTPSend;
  
URLDatastring;
Label
  end_
;

begin

  HTTP
:= THTTPSend.Create;
  try

    
form1.Memo1.Lines.Add('wmmail.ru - Логонимся...') ;

    
HTTP.Headers.Add('Referer: http://www.wmmail.ru/index.php');
    
URLData  := 'cf=akk-login&ulogin='+login+'&pass='+pass+'&x=11&y=12';
    
HTTP.Document.Write(Pointer(URLData)^, Length(URLData));
    
HTTP.MimeType := 'application/x-www-form-urlencoded';

    if 
not HTTP.HTTPMethod('POST''http://www.wmmail.ru/index.php')
    
then begin
      form1
.Memo1.Lines.Add('www.wmmail.ru - Ошибка связи!') ;
      goto 
end_;
    
end;

    
temp:= StreamToString(HTTP.Document)    ;

    
HTTP.Document.SaveToFile('logs\wmmail.ru-login-1_[docum].html');
    
HTTP.Headers.SaveToFile('logs\wmmail.ru-login-1_[head].html');

    if 
pos('Последнее посещение аккаунта'temp)>0
    then begin
      form1
.Memo1.Lines.Add('wmmail.ru - этап 1 - ok') ;
      
result:=true;
    
end else begin
      form1
.Memo1.Lines.Add('wmmail.ru - этап 1 - Ошибка!') ;
      goto 
end_;
    
end;


   
// обработка результата


    
end_:

  finally
    
HTTP.Free;
    
result:=false;
  
end;


end
Как-то так...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dream (15.02.2011)
Старый 04.03.2011, 15:22   #4
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Ответ: Авторизация Delphi

Сообщение от anton_obuhov Посмотреть сообщение
Привет всем!
С 2011 годом вас всех.
Теперь собственно вопрос. Я делаю программу для проекта wmmail.ru точнее делаю ее по пунктам.
1. Авторизация
2. Чтение писем
3. Серфинг и Автосерфинг

3. Шаг я полностью сделал
Теперь необходимо выполнить 1 шаг. В общем ситуация следующая:
Я использую компонент Indy чтобы послать post запрос на сайт, при этом авторизация проходит успешно авторизацию, но как только я пытаюсь перейти на сайт wmmail.ru в компоненте webbrowser мне пишут что я не авторизирован. Помогите исходный код ниже
procedure TForm1.Button3Click(SenderTObject);
var
list: 
TStringList;
begin
 
list := TStringList.Create;
  
WebBrowser1.Navigate('http://wmmail.ru/');
  list.
Add('cf=akk-login');
  list.
Add('ulogin=Мой логин');
  list.
Add('pass=Мой пароль');
  list.
Add('x=16');
  list.
Add('y=18');
     list.
Add('remember=on');
  try
memo1.lines.text := IdHTTP1.Post('http://wmmail.ru/index.php',list);
memo1.Lines.SaveToFile('aaa.htm');
WebBrowser1.Navigate(extractfilepath(application.exename)+'aaa.htm');

  finally

    list.
Free;
    
IdHTTP1.Disconnect;
  
end;
end
Как сделать так чтобы я мог быть до конца авторизирован ?
Сразу говорю я не программист поэтому если можете пожалуйста помогите строчками кода, мне в них легче разбираться чем в литературе. А если возможно просто исправьте код на правильный. Большое спасибо
Может и некропост, но все же, если память не изменяет, компонент Indy и компонент WebBrowser между собой связи не имеют и следовательно кука для авторизации на сайте не проставляется. Тут или извращаться с дочерними окнами в WebBrowser либо на время авторизации "тушить" его и делать авторизацию им.
(Offline)
 
Ответить с цитированием
Старый 30.06.2013, 18:08   #5
Dependency Walker
 
Сообщений: n/a
Ответ: Авторизация Delphi

Час от часу не легче. TIDhttp для кого? Его используйте!
 
Ответить с цитированием
Старый 30.06.2013, 18:21   #6
RokWeb
Нуждающийся
 
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений
(для 34 пользователей)
Ответ: Авторизация Delphi

Сообщение от Dependency Walker Посмотреть сообщение
Час от часу не легче. TIDhttp для кого? Его используйте!
Некрофилией, батенька, занимаемся?
(Offline)
 
Ответить с цитированием
Старый 30.06.2013, 19:00   #7
Dependency Walker
 
Сообщений: n/a
Ответ: Авторизация Delphi

Поскольку никто не ответил правильно, это не некропост. А тема актуальна - поэтому я и написал. В чем же ошибка?
А вот в чем:
* не использован соответствующий компонент (Idhttp client);
* не использован куки- менеджер;
* одной только отсылкой в пост-запросе логина и пароля дело не решить, т.к нужно парсить токен и время создания.
Эти параметры нужно поместить в tstringlist и отослать вместе с постом.
Вообще, правильное общение с сайтом - очень тонкая наука. Нужно сниффить с браузера и уже опираясь на логи сниффера, составлять свой запрос.
 
Ответить с цитированием
Старый 30.06.2013, 19:10   #8
RokWeb
Нуждающийся
 
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений
(для 34 пользователей)
Ответ: Авторизация Delphi

Сообщение от Dependency Walker Посмотреть сообщение
Поскольку никто не ответил правильно, это не некропост. А тема актуальна - поэтому я и написал. В чем же ошибка?
А вот в чем:
* не использован соответствующий компонент (Idhttp client);
* не использован куки- менеджер;
* одной только отсылкой в пост-запросе логина и пароля дело не решить, т.к нужно парсить токен и время создания.
Эти параметры нужно поместить в tstringlist и отослать вместе с постом.
Вообще, правильное общение с сайтом - очень тонкая наука. Нужно сниффить с браузера и уже опираясь на логи сниффера, составлять свой запрос.
Ну тогда, позволю себе заметить, что рекомендовать Indy компоненты для работы с сетью - само по себе грех, учитывая нестабильность и глючность этих компонентов самих по себе.
(Offline)
 
Ответить с цитированием
Старый 30.06.2013, 19:26   #9
Dependency Walker
 
Сообщений: n/a
Ответ: Авторизация Delphi

рекомендовать Indy компоненты для работы с сетью - само по себе грех

Простите меня падре, ибо я согрешил. Лучше Indy вообще ничего нет для работы с сетью. Главное, внимательно читать справку и знать, что ты хочешь сделать.

Админы, настоятельно рекомендую меня забанить. Я думал, что на сайте серьезные люди, а на поверку выяснилось, что школоло. Не все, но многие. Воспитателем в садик я не нанимался.
 
Ответить с цитированием
Старый 30.06.2013, 19:28   #10
RokWeb
Нуждающийся
 
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений
(для 34 пользователей)
Ответ: Авторизация Delphi

Сообщение от Dependency Walker Посмотреть сообщение
Простите меня падре, ибо я согрешил. Лучше Indy вообще ничего нет для работы с сетью. Главное, внимательно читать справку и знать, что ты хочешь сделать.

Админы, настоятельно рекомендую меня забанить. Я думал, что на сайте серьезные люди, а на поверку выяснилось, что школоло. Не все, но многие. Воспитателем в садик я не нанимался.
WinSock... Чистый WinSock, сын мой.
(Offline)
 
Ответить с цитированием
Старый 30.06.2013, 19:30   #11
Dependency Walker
 
Сообщений: n/a
Ответ: Авторизация Delphi

WinSock... Чистый WinSock, сын мой.
Ну конечно. Indy писали школьники с Башорга, не надо позориться, пользоваться их разработками... Надо непременно изобрести свой велосипед.
Быдлокодить Indy не даст; читай справку и пиши так, как там написано. Иначе никак. За это ее многие ругают. ( Печально.

К слову, чтобы в винсоках сделать поддержку редиректов нужно час пилить, хотя в Indy это делается 1 строчкой: HanldeRedirect:=true

Но на вкус и цвет, как известно, ...
 
Ответить с цитированием
Старый 30.06.2013, 19:36   #12
RokWeb
Нуждающийся
 
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений
(для 34 пользователей)
Ответ: Авторизация Delphi

Сообщение от Dependency Walker Посмотреть сообщение
Ну конечно. Indy писали школьники с Башорга, не надо позориться, пользоваться их разработками... Надо непременно изобрести свой велосипед.

Низкий уровень любишь? А чего тогда тут забыл, на форуме Delpih? Пиши на c++.
Задаюсь тем же вопросом, раз Вы такой умный, чего Вы тут забыли?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:01.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com