![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передавать из программы параметры методами 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.