Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> POST на сайт, Запрос 
V
    Опции темы
ishimcity
Дата 10.2.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Уважаемые ребята. Подскажите пожалусто как это дело можно отправить на сервер?

Код

<form action="" name="msgForm" method="POST" enctype="multipart/form-data">
  <input type="hidden" name="owner_site_id" value="1144" />
  <input type="hidden" name="control_id" value="0105567011" />
  <input type="hidden" name="owner_site_hash" value="" />
  <input type="hidden" name="action" value=""/>
  <input type="hidden" name="mode" value=""/> 
  <input type="hidden" name="page" value="" />
  <input type="hidden" name="delay_time" value=""/>
  <input type="hidden" name="offset_time" value=""/>
  <input type="hidden" name="message_text_trans" value=""/>
  <input type="hidden" name="subsc_pwd" value="" />
  <input type="hidden" name="phone_prefix" value=""/>
  <input type="hidden" name="phone_number_list" value=""/>
  <input type="hidden" name="images" value=""/>
  <input type="hidden" name="sounds" value=""/>
  <input type="hidden" name="user_img" value=""/>
  <input type="hidden" name="user_snd" value=""/>


я понимаю что это делается через массив но что то неполучаеться.
Спасибо
PM MAIL ICQ Skype YIM   Вверх
Snowy
Дата 10.2.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Код

var
  ASource: TIdMultiPartFormDataStream;
begin
  ASource := TIdMultiPartFormDataStream.Create;
  ASource.AddFormField('owner_site_id', '1144');
  ASource.AddFormField('control_id', '0105567011');
  ...
  ASource.AddFormField('user_snd', '');
  IdHTTP1.Post('http://www.site.ru/myform.php', ASource);
  ASource.Free;
end;
где http://www.site.ru/myform.php - это адрес, указанный в form action=""
Вместо пустоты должен быть указан относительный адрес, который нужно привести к полному.
PM MAIL   Вверх
ishimcity
Дата 10.2.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Snowy  спасибо огромное. я в принципе так и делал. но увы что то нетак.
я обясню принцим моей идеи, есть сайт http://www.tumen.u-tel.ru/content/mmssend который отправляет ммс.
хочу организовать с делфи все это.
прости вот это я непонял что ты имел ввиду "Вместо пустоты должен быть указан относительный адрес, который нужно привести к полному."

Это сообщение отредактировал(а) ishimcity - 10.2.2009, 20:36
PM MAIL ICQ Skype YIM   Вверх
Snowy
Дата 10.2.2009, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Думаю, в данном случае полный адрес как раз и будет http://www.tumen.u-tel.ru/content/mmssend
То есть страница вызывает саму себя, но уже с данными.
Просто там всё неоднозначно - форма скрыта и заполняется джаваскриптом, который её меняет.
PM MAIL   Вверх
ishimcity
Дата 11.2.2009, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Я делаю так:
Получаю все переменные и загружаю файл на сайт

Код

const
ot = 'http://mmsuser.u-tel.ru/ctrlimg/?c='; // 10 последних циферок
co = 'control_id" value="'; //это надо для POST
var
txt,txt1,ss,lres,txt2,ott,z,models,ris: string;
sPos, fPos,spos1,fpos1,lpos,lpos2,spos2,fpos2,c,r: Integer;
ltxt,ltxt1,ltxt2: Integer;
lStream: TMemoryStream;
jpg: TJPEGImage;
begin
st:=TIdMultiPartFormDataStream.Create;
st.AddFile('image_path',a,'image/jpeg');// гружу картинку на сервер ,а - здесь путь к картинке
HTTP.AllowCookies :=true;
HTTP.HandleRedirects := True;
txt:=HTTP.Post('http://www.tumen.u-tel.ru/content/mmssend',st);
st.Free ;
 sPos := Pos(ot, txt);
  if sPos > 0 then
    begin
      ltxt := Length(ot);
      Inc(sPos, ltxt);
      fPos := sPos;
      while (fPos <= ltxt) and (txt[sPos] <> '"')
        do Inc(fPos);
      ris:=Copy(txt, sPos, 10); // нашли 10 цифирок
       sPos := Pos(co, txt);
  if sPos > 0 then
    begin
      ltxt := Length(co);
      Inc(sPos, ltxt);
      fPos := sPos;
      while (fPos <= ltxt) and (txt[sPos] <> '"')
        do Inc(fPos);
      ris1:=Copy(txt, sPos, 10); // нашли переменную control_id
      l2.Caption :=ris1;
        if ris <> '' then
        begin
          lStream := TMemoryStream.Create;
             Jpg:=TJpegImage.Create ;
          try
            HTTP.Get(ot + ris , lStream);
            lStream.Position := 0;
           Jpg.LoadFromStream(lStream);
            Image1.Picture.Bitmap.Assign(jpg);// вывожу картинку для поддтверждения
          finally

            lStream.Free;

    end;
        end;


    end;

    end;
end;


далее делаю POST

Код

st:=TIdMultiPartFormDataStream.Create;
st.AddFormField('owner_site_id','1144');
st.AddFormField ('control_id',ris1);
st.AddFormField ('action','ins'); // -> что здесь? или адрес  http://www.tumen.u-tel.ru/content/mmssend
st.AddFormField ('mode','insMms');
st.AddFormField('phone_number','Номер телефона');//телефон №
st.AddFormField('message_text','Приветик от друга'); // сообщение
st.AddFormField('confirm_code',Edit1.Text ); // код подтверждения
st.AddFormField('images',a); // а - здесь путь к картинке
idHTTP1.AllowCookies :=true;
idHTTP1.Post('http://www.tumen.u-tel.ru/content/mmssend',st);
end;


ну вот так

Это сообщение отредактировал(а) ishimcity - 11.2.2009, 06:17
PM MAIL ICQ Skype YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.