Доброе утро. Имееться функция Code: function send_post(request,url_send,agent,referer:string):string; var stream: TStringStream; BodyS: TStringList; HTTP:THTTPSend; begin HTTP := THTTPSend.Create; try HTTP.Document.Clear; HTTP.UserAgent := agent; HTTP.MimeType := 'application/x-www-form-urlencoded'; HTTP.Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' ); HTTP.Headers.Add('AcceptLanguage: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3'); HTTP.Headers.Add('Referer: '+referer); if(cookie<>'') then HTTP.Cookies.Text:=cookie; if(request<>'') then begin stream:=TStringStream.Create(''); stream.WriteString(request); HTTP.Document.LoadFromStream(stream); HTTP.HTTPMethod('post',url_send); end; BodyS := TStringList.Create; BodyS.LoadFromStream(HTTP.Document); Result:=BodyS.Text; finally HTTP.Free; end; end; К примеру с помощью этого кода я иду по урлу http://forum.antichat.ru/antichat/pic/logo.gif Как мне потом его сохранить в файл? Надо именно на synacode, indy не предлагать.
BodyS.SaveToFile('file.png'); или же считай все не в TStringStream , а в TMemoryStream и вызови метод SaveToFile у потока
если правильно понял PHP: var s:TMemoryStream; begin s:=tmemorystream.Create; HttpGetBinary('http://forum.antichat.ru/antichat/pic/logo.gif',s); s.SaveToFile('C:\logo.gif'); s.Free; end;
ох, что-то мне этот код напоминает, а тем более переменная BodyS, а по теме: 1. то, что предложил HackingAll, 100% работоспособно, правда только для случаев, когда данные в свободном доступе (без авторизации) 2. Rastamanka - направление мыслей верное, только все, что после Code: HTTP.HTTPMethod('post',url_send); можно смело сносить нафиг, а написать Code: HTTP.Document.SaveToFile('бла бла, какойтотамфайл')
Возможно так: PHP: var s:TMemoryStream; begin s:=TMemoryStream.Create; HttpGetBinary('http://forum.antichat.ru/antichat/pic/logo.gif', s); s.Possition := 0; s.SaveToFile('C:\logo.gif'); s.Free; end;