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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2014, 09:34   #1
stasa9711
Форумчанин
 
Регистрация: 01.10.2012
Сообщений: 106
По умолчанию Выкидывает при пост запросе на главную страницу

Добрый устро всем форумчанам! такая проблема, стоит задача опубликовать программно тему в группе на од.Делаю все через мобильную версию , там легче ибо в полной версии берется непонятно откуда значение которого нигде не могу найти, а с мобильной версией проблема такая, при пост запросе на создание темы выкидывает на страницу логина пароля, но непонятно почему... авторизован, проверял, использую синапс... по идее синапс не теряет кукисы, но на всякий случай я их даже в ручную прописал .. в чем проблема хз даже...
вот код :
Код:
var CurAcc, TP:integer;
    HTTP:THTTPSend;
    IP, Port,s,friends,ok:string;
    data:TStringStream;
    HTML, src:TStringList;
    cookie:string;
begin
 while Work do
  begin
   CS.Enter;
    Inc(Acc);  Inc(NP);
    if Acc<Accounts.Count-1 then CurAcc:=Acc else Work:=false;
    if NP<Proxy.Count-1 then TP:=NP else begin
      NP:=0;
      TP:=NP;
    end;
   CS.Leave;

   if Work then
    begin

     //copy login
     FLogin:=Copy(Accounts[CurAcc],1,Pos(razd,Accounts[CurAcc])-1);
     FPassword:=Copy(Accounts[CurAcc],Pos(razd,Accounts[CurAcc])+1,Length(Accounts[CurAcc]));

     //copy proxy
     if Proxy.Text = '' then
     begin
      sleep(0);
     end
      else
     begin
     IP:=Copy(Proxy[TP], 1, Pos(':', Proxy[TP])-1);
     Port:=Copy(Proxy[TP],Pos(':',Proxy[TP])+1,Length(Proxy[TP]));
     end;

     HTTP:=THTTPSend.Create;
     //Заголовки
      http.MimeType:='application/x-www-form-urlencoded';


     //Proxy
     if Proxy.Text = '' then
      begin
      sleep(0)
      end else
     begin
     //socks
     if proxymode='socks' then
     begin
     HTTP.Sock.SocksIP:=IP;
     HTTP.Sock.SocksPort:=Port;
     end;
     //HTTP
     if proxymode='http' then
     begin
     HTTP.ProxyHost:=IP;
     HTTP.ProxyPort:=Port;
     end;
     end;
      HTTP.HTTPMethod('GET','https://m.odnoklassniki.ru');
      src:=Tstringlist.Create;
     src.LoadFromStream(HTTP.Document);
        http.clear;

        //POST
         http.MimeType:='application/x-www-form-urlencoded';
     data:=Tstringstream.Create;
     data.WriteString('fr.posted=set&fr.needCaptcha=&fr.login='+ Flogin+'&fr.password='+ Fpassword+'&button_login=Войти');
     HTTP.Document.LoadFromStream(data);

     friends:=pars('="cbox tac"><form action="',src.Text,'"');

     if HTTP.HTTPMethod('POST',friends) then begin
    // cookie:=setkuki(http.Headers.Text);
     if pos('Set-Cookie:', HTTP.Headers.Text)<>0 then
     begin
    http.clear;
     {HTTP.Headers.Clear;
     HTTP.HTTPMethod('GET','https://m.odnoklassniki.ru/dk?st.cmd=userDscs&st.pos=on&_prevCmd=userMain');
       HTTP.Clear;

     HTTP.Headers.Clear;
     HTTP.HTTPMethod('GET', 'http://m.odnoklassniki.ru/dk?st.cmd=altGroupMain&st.groupId=54645436252178&_prevCmd=userAltGroups');
    src.Clear;
     src.LoadFromStream(HTTP.Document);
     balance:=pars('<a class="mntl" href="/dk?st.cmd=altGroupForum',src.Text,'"');
     HTTP.Headers.Clear;  }
   //  HTTP.HTTPMethod('GET','http://m.odnoklassniki.ru/dk?st.cmd=altGroupForum'+balance);
  // HTTP.Cookies.Add(cookie);
    http.HTTPMethod('GET','http://m.odnoklassniki.ru/dk?st.cmd=altGroupMain&st.groupId=54645436252178&_prevCmd=userAltGroups');
     //src.Clear;
     src.LoadFromStream(HTTP.Document);
           form1.srichedit1.lines.add(utf8toansi(src.Text));
     ok:=pars('"uform"><form action="',utf8toansi(src.Text),'"');
    // showmessage(ok);
       http.clear;
       http.MimeType:='application/x-www-form-urlencoded';
     data.Clear;
     data.WriteString('tfr.text=текст am&button_save=Создать тему&tfr.sf.posted=set');
     HTTP.Document.LoadFromStream(data);
    // HTTP.Cookies.Add(cookie);
     HTTP.HTTPMethod('POST','http://m.odnoklassniki.ru'+ok);

    // balance:=Pars('id="rub2">', utf8toansi(src.Text), '</b>');
     Rezult:=1;
     end else
     begin
     Rezult:=2;
     end;
     end else
     begin
     Rezult:=0;
     end;
     HTTP.Free;
     src.Free;
     data.Free;

     Synchronize(Sync);
    end;
  end;
stasa9711 вне форума Ответить с цитированием
Старый 26.04.2014, 09:57   #2
stasa9711
Форумчанин
 
Регистрация: 01.10.2012
Сообщений: 106
По умолчанию

помогите пожалуйста
stasa9711 вне форума Ответить с цитированием
Старый 26.04.2014, 22:38   #3
Smagulov85
Форумчанин
 
Аватар для Smagulov85
 
Регистрация: 22.11.2009
Сообщений: 142
По умолчанию

У тебя не полный запрос получается, форма отправляет 4 значения у тебя только 3

Код:
fr.photoFile
tfr.text
button_save
tfr.sf.posted
Если помог: Нажми Весы и оставь отзыв!!!
Smagulov85 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неправильная кодировка при пост запросе RIO Работа с сетью в Delphi 1 14.11.2010 07:02
Можно ли при пост-запросе InDy получить только куки (при логине на сайт например)? TwiX Работа с сетью в Delphi 2 07.02.2010 08:21
Зависание при пост запросе Фенрир Работа с сетью в Delphi 1 14.12.2009 15:18
Перенаправление при пост запросе. TwiX Работа с сетью в Delphi 2 03.12.2009 17:09