Модератор: Модераторы
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