Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

WinInet. Get-запрос в Консольном приложении? Поиск функции!   Найти похожие ветки 

 
Stepper   (2008-03-30 11:06) [0]

Продолжая свои маленькие шаги в освоении сетевых технологий - столкнулся в небольшой проблемой а именно: Как в консольном приложении выполнить Get-запрос к некому Юрл и сохранить результат в TFileStream или подобной переменной!

Решил заюзать WinInet и нашел одну функцию, но не знаю как передать ей параметры запроса?


Uses WinInet;

function GetHttpString(URL: AnsiString; var OutData: AnsiString): Boolean;
var
 hInet, hFile: HINTERNET;
 DataBuf: Pointer;
 TmpStr: AnsiString;
 BytesReaded: Cardinal;
const
 BufSize = 4096;
begin
 result := false;

 hInet := InternetOpen(nil,
   INTERNET_OPEN_TYPE_PRECONFIG,
   nil,
   nil,
   0);
 if hInet = nil then Exit;

 hFile := InternetOpenUrl(hInet,
   PChar(URL),
   nil,
   0,
   INTERNET_FLAG_EXISTING_CONNECT or INTERNET_FLAG_NO_CACHE_WRITE or INTERNET_FLAG_RELOAD,
   0);
 if hFile = nil then
 begin
   InternetCloseHandle(hInet);
   Exit;
 end;
 OutData := "";
 GetMem(DataBuf, BufSize);
 BytesReaded := 0;
 repeat
   SetString(TmpStr, PChar(DataBuf), BytesReaded);
   OutData := OutData + TmpStr;
   BytesReaded := 0;
   if not InternetReadFile(hFile, DataBuf, BufSize, BytesReaded) then Break;
 until BytesReaded = 0;
 FreeMem(DataBuf, BufSize);
 InternetCloseHandle(hFile);
 InternetCloseHandle(hInet);
 result := true;
end;


 
Palladin ©   (2008-03-30 11:23) [1]

Что ты подразумеваешь под "параметры запроса"?


 
Stepper   (2008-03-30 11:37) [2]


> Palladin ©   (30.03.08 11:23) [1]
>
> Что ты подразумеваешь под "параметры запроса"?


Ну как в Инди IdHTTP:

...
var
s: string;
fs: TFileStream;
begin
s := IdHTTP.Get("http://www.url/"); // Параметры запроса!
fs := TFileStream.Create("Get.txt", fmCreate or fmOpenWrite);
fs.Write(Pointer(s)^, Length(s));
fs.Free;
end;
...


Реализовать подобное, но для WinInet!


 
Palladin ©   (2008-03-30 11:40) [3]

Описание функции, котору ты нашел, красноречиво говорит о том как ее использовать. Брысь паскаль изучать.


 
Stepper   (2008-03-30 11:47) [4]


> Описание функции, котору ты нашел, красноречиво говорит
> о том как ее использовать. Брысь паскаль изучать.


Мдэ... обьяснил! :(


 
Palladin ©   (2008-03-30 11:55) [5]

А чего тут объяснять. Да будет тебе известно ты сетевых технологий вообще еще даже не коснулся. Даже на три км к ним не подошел. Тебе основы прогоаммирования и паскаля изучать нужно. Даже простейшую процедуру, где то скопированную, с прекрасно названными параметрами погять не можешь как вызвать. То есть все твое  "изучение сетевых технологи" - выпрашивание и поиск чужого кода. Свой тоткогда писать будешь?


 
Stepper   (2008-03-30 11:59) [6]


> Palladin ©   (30.03.08 11:55) [5]


Ветку не попутал? Прочти и прими к сведению: Начинающим

Конференция для начинающих, а также для тех, кому сложно объяснить чего он хочет. Просьба к участникам быть взаимовежливыми, профессионалам отдельная просьба - быть снисходительными.


 
DrPass ©   (2008-03-30 12:21) [7]


> Stepper   (30.03.08 11:59) [6]


> Ветку не попутал? Прочти и прими к сведению: Начинающим

Начинающий - подразумевает "изучающий", а не "тупо копирующий, и желающий чтобы все сразу заработало".
Вот ему и подсказали, где и что надо сначала изучать.


 
Stepper   (2008-03-30 12:34) [8]


> DrPass ©   (30.03.08 12:21) [7]


И Вы туда же? Тупо копирующий и оптимизирующий и что из этого? Если смогу оптимизировать для своих нужд - значит енто Плохо? Не кто не просил чтоб мне тут написали программу, был задан на мой взгляд корректный Вопрос а именно:

> но не знаю как передать ей параметры


И чем же я - Вас так разгневал?


 
DrPass ©   (2008-03-30 15:56) [9]


> И чем же я - Вас так разгневал?

Да ничем не разгневал. Просто сам подумай... У функции два параметра - URL строки-запроса и переменная, куда будет помещен результат. Если ты не понимаешь, как в них передать данные и получить ответ (а это же азы программирования) - что мы можем тебе помочь? Так же и сказали, надо сначала изучить основы Паскаля.


 
Сергей М. ©   (2008-03-30 16:02) [10]


> Get-запрос в Консольном приложении


Брысь !

В случае с индейскими компонентами - дважды брысь !
Бо блокирующий режим.


 
Сергей М. ©   (2008-03-30 16:05) [11]

Удалено модератором


 
Stepper   (2008-03-30 16:38) [12]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
6-1185333580
R.O.O.T
2007-07-25 07:19
2008.04.27
Port Mapping своими силами


2-1207309431
Leon161
2008-04-04 15:43
2008.04.27
создание некоторого числа объектов на форме в нужных координатах


15-1205476024
lod
2008-03-14 09:27
2008.04.27
Не работает дебагер. ((


15-1205208015
Slider007
2008-03-11 07:00
2008.04.27
С днем рождения ! 11 марта 2008 вторник


2-1206990412
anton
2008-03-31 23:06
2008.04.27
проверка орфографии