2015-03-20 3 views
0
HTTP.Request.Connection:= 'Keep-Alive'; 
HTTP.Request.CacheControl:= 'no-cache'; 
HTTP.Request.ContentType:= 'application/x-www-form-urlencoded';  
HTTP.Get('jpip://192.168.1.71:3312/cb.jp2?len=4000&type=jpp-stream&cnew=http&tid=0 HTTP/1.1', response); 

Я хочу прочитать отклик (я определен как TStream). Но я не знаю, как использовать idHttp.Get?Как читать поток из IdHTTP.Get

Как получить ответ от сервера (байтовый байт).

+0

Как мы должны знать, установлен где-то в вашей сети сервер? Просто переустановите позицию «response» и обработайте ее, как вы хотите, это ответ на вопрос в текущем состоянии. – TLama

ответ

1

Вам просто нужно предоставить поток во втором параметре TIdHTTP.Get(). Если вы хотите сохранить файл использовать файл поток:

var 
    Stream: TFileStream; 
.... 
Stream := TFileStream.Create(FileName, fmCreate); 
try 
    HTTP.Get(..., Stream); 
finally 
    Stream.Free; 
end; 

Или, если вы хотите в потоке памяти, как это:

var 
    Stream: TMemoryStream; 
.... 
Stream := TMemoryStream.Create; 
try 
    HTTP.Get(..., Stream); 
    Stream.Position := 0; // seek to the beginning of the stream 
    // do something with the stream 
finally 
    Stream.Free; 
end; 
+0

@TLama Возможно. Возможно, этот ответ вызовет дополнительную информацию. В этом случае я с радостью удалю. –

+0

спасибо @DavidHeffernan 'TFileStream', который мне нужен. –

+0

@TLama почему так агрессивно:/ –

Смежные вопросы