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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2015, 16:10   #1
Vlad2891
Пользователь
 
Регистрация: 22.02.2015
Сообщений: 24
По умолчанию переход по странице после авторизации

Доброго времени суток! Не могу осуществить переход по странице после авторизации(сайт pw.mail.ru) используется synapse. Проблема в том, что не выходит найти верную страницу для перехода(pw.mail.ru/ref.php). Если подставить ту, что есть в адресной строке, то подключение не получается, будто такой страницы и вовсе нет. В общем, прошу помочь разобраться с переходами и получением текст-информации со страницы.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
http:thttpsend;
data,d:tstringstream;
src:tstringlist;
log,pas,str:string;
p,i,swap:integer;
begin
for i:=1 to c do
 begin
 http:=thttpsend.Create;
 data:=tstringstream.Create('');
 src:=tstringlist.Create;
 http.KeepAlive:=True;
 http.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0';
 data.WriteString('');
 str:=ListBox1.Items[i-1];
 p:=Pos(';',str);
 if p=0 then p:=Pos(':',str);
 log:=Copy(str,1,p-1);
 pas:=Copy(str,p+1,length(str)-length(log));
 swap:=Pos('@',log);
 delete(log,swap,1);
 Insert('%40', log, swap);
 Edit2.Text:=pas;
 Edit1.Text:=log;
 data.WriteString('Login='+Edit1.Text+'&Password='+Edit2.Text);
 Sleep(1000);
 Http.Document.LoadFromStream(data);
 if http.HTTPMethod('POST','https://auth.mail.ru/cgi-bin/auth?FakeAuthPage=http%3A%2F%2Fpw.mail.ru%2Flogin.php%3Fdo%3Dlogin&Page=http%3A%2F%2Fpw.mail.ru%2Flogin.php%3Fdo%3Dlogin') then
  begin
  if Pos('Mpop=',http.Headers.Text)<>0 then
   begin
   Memo1.Lines.Add('Авторизовались');
   end else
    begin
    Memo1.Lines.Add('Не авторизовались');
    end;
  end;
  Sleep(500);
  http.Document.Clear;
  if http.HTTPMethod('GET','https://pw.mail.ru/ref.php') then
   begin
   HTTPGetText('https://pw.mail.ru/ref.php',Memo2.Lines);
  Memo2.Lines.add(Http.Headers.Text);
  Memo2.Lines.Add(inttostr(http.Resultcode));
   end;
//http.Clear;
//http.Cookies.Clear;
//Http.Document.Clear;
 Application.ProcessMessages;
 Data.Free;
 HTTP.Free;
 end;
end;

Последний раз редактировалось Vlad2891; 23.02.2015 в 17:46.
Vlad2891 вне форума Ответить с цитированием
Старый 24.02.2015, 23:09   #2
Vlad2891
Пользователь
 
Регистрация: 22.02.2015
Сообщений: 24
По умолчанию

В итоге переписал через WebBrowser. Теперь новая проблема, не могу выйти с сайта т.к. там встает всплывающее окно "Вы действительно хотите выйти?". Кто-то может подсказать как подтвердить выход в всплывающем окне?
Ну или как вариант перезагрузить WebBrowser очистить историю и т.д. опять же не знаю как.
Буду признателен если кто-нибудь подскажет
Vlad2891 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с HTML страницей после авторизации Yoja Работа с сетью в Delphi 1 19.10.2012 16:24
Переход на сайт после анимации JS 313131 JavaScript, Ajax 7 08.06.2012 08:16
Последствия после авторизации через таймер? Arsenx777 Работа с сетью в Delphi 3 16.07.2011 00:13
получить id вконтакте после авторизации Pein95 Работа с сетью в Delphi 5 09.05.2011 01:12
Переход по странице Gorychev HTML и CSS 2 16.05.2008 21:01