Модератор: Модераторы


laxi писал(а):Сылка почему то не открывается


Http.AllowCookies    := True;
Http.CookieManager   := CM;
Http.HandleRedirects := True; 
    
Data     := TStringList.Create;
Stream   := TMemoryStream.Create;
dump2    := TMemoryStream.Create;
   
Http.Request.Host           := '...;  // Подставляем реальный хост
Http.Request.UserAgent      := 'Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0';
Http.Request.Accept         := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
Http.Request.AcceptLanguage := 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
Http.Request.AcceptEncoding := 'gzip, deflate';
Http.Request.AcceptCharSet  := 'windows-1251,utf-8;q=0.7,*;q=0.7';
Http.Request.Referer        := 'http:...'; // Подставляем реальный адрес
Http.Request.Connection     := 'keep-alive';
Http.Request.ContentType    := 'application/x-www-form-urlencoded';
    Data.Add('тут логин');
    Data.Add('А вот тут пароль');
    Data.Add('1'); // А тут скрытые данные требуемые для регистрации
    Data.Add('1111');  // Ещё одни скрытые данные требуемые для регистрацииHttp.Post('http://.../login_post.asp', Data, dump2);
dump2.Seek(0, soFromBeginning);
Data.LoadFromStream(dump2); // передаем данные дампа в стринглист для анализа
SSID := SessionID; // SSID: string; Написал функцию SessionID для вытаскивания из прочитанных данных номера сессии. Для формирования адреса файла с сайта - в адресе стоит номер сессии.
   S := FindFileName('Бланк заказа продукции');     S := Format('http://.../download5.asp?sessionid=%s&filename=%s', [SSID, S]);
     Stream.Clear;
     Http.Get(S, Stream);
     S := Format('D:\...\Заказы\%s Бланк заказа продукции.xls', [DateToStr(Now, '')]);
     Stream.SaveToFile(Utf8ToAnsi(S));
 
 program httpget;
{$mode objfpc}{$H+}
uses
  SysUtils, Classes, fphttpclient;
var
  w: TFPHTTPClient;
begin
  w:=TFPHTTPClient.Create(Nil);
  w.Get('http://www.freepascal.ru','./file.html');
  w.Free;
end.

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1