Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как передавать из программы параметры методами GET/POST? [D7, WinXP]


wsxedc ©   (2006-06-03 10:14:00) 

Подскажите плз, как передавать из программы параметры методами GET/POST. Т.е. чтоб ввести адрес сайта, параметры и способ передачи(GET/POST), а прога их передала?
И чтоб при этом браузер не запускался?
ЗЫ только не через фастнет...


serko   (2006-06-05 20:08:00) [1]

ну а как Get данные передать ,так как я передаю Post?

Я в твой код не вникал, может они работает, но мне нужно моим только передать GET.

Как перекодировать в urlcode?


Tsmar   (2006-06-05 09:20:00) [2]

Забыл сказать, что GET данные можно передать прямо в URL.
Например: http://www.yandex.ru/yandsearch?rpt=rad&text=что%20ищем
Не забудь, что в GET запросе значения передаваемых текстовых переменных должны быть перекодированы в urlcode


Tsmar   (2006-06-05 09:15:00) [3]

функция отправляет по адресу URL, POST данные CMD и Query,
думаю для примера вполне подойдет :)

function GetFromURL(URL: string; CMD: string =''; Query : string=''):string;
var str, res   : TStringList;
   ms         : TMemoryStream;
begin
 str:=TStringList.Create;
 res:=TStringList.Create;
 ms := TMemoryStream.Create;
 //Добавляем POST данные
 str.Add('cmd='+CMD);
 //Если это SQL запрос
 if (CMD='sql') and (Query<>'') then
   begin
     str.Add('query='+Query);
     str.Add('query_t='+LowerCase(Parse(' ',Query,1)));
   end;
 try
   MainForm.IdHTTP1.Post(URL, str, ms);
   ms.Position := 0;
   res.LoadFromStream(ms);
   Result:=res.Text;
 finally
   ms.Free; str.Free; res.Free;
 end;
end;


serko   (2006-06-04 13:05:00) [4]

а как с помощью WebBrowser выполнить метод GET?

Post я делаю так:


    stPostData:='shop=stat';
    vHeaders:= 'Content-Type:application/x-www-form-urlencoded'+ #10#13#0;
    vPostData:= VararrayCreate([0, Length(stPostData)], varByte);
    for iLoop := 0 to Length(stPostData)- 1 do
    begin
         vPostData[iLoop]:= Ord(stPostData[iLoop+1]);
     end;
    vPostData[Length(stPostData)]:= 0;
    TVarData(vPostData).vType:= varArray;
    vWebAddr:='';
    vFlags:=navNoWriteToCache;
    vFrame:=EmptyParam;
    try
       WebBrowser1.Navigate2(vWebAddr,vFlags,vFrame,vPostData,vHeaders);
    except
    end;


Dmitrij_K   (2006-06-04 12:16:00) [5]

Компонент Indy  IdHTTP http://www.indyproject.orgтам же демка есть


Dmitrij_K   (2006-06-04 12:16:00) [6]

Компонент Indy  IdHTTP http://www.indyproject.orgтам же демка есть


wsxedc   (2006-06-04 11:46:00) [7]

а можно конкретный пример? Или хоть какой компонет использовать то?


Tsmar   (2006-06-03 16:33:00) [8]

ЗЫ Тогда через Indy.


Наверх

Титульная страница Поиск, карта сайта Написать письмо