Вот возникла не тривиальная задача получать раз в несколько дней страничку с одними и темеже параметрами, решил автоматизировать , но не нахожу как организовать получени страницы средствами FPC
итак задача послать на урл <a href='http://test.site/cgi-bin/script.cgi' target='_blank'>http://test.site/cgi-bin/script.cgi</a> форму методом пост ну например такую number=1, number=2, group=1, group=3
и то что скрипт выплюнет обратно положить на с:\русское имя\folder1
работа с запросами
Модератор: Модераторы
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
Я юзал библиотеку от Synapse. Вот, например, получение списка валют с сервера ЦБ:
Только метод Get у меня как-то не заработал...
Код: Выделить всё
uses
... XMLRead, DOM, httpsend, ...
procedure TfrmMain.GetCurrencies;
var
HTTP: THTTPSend;
CurrXML: TXMLDocument;
N, C: TDomNode;
E: TDomElement;
i: Integer;
TempCursor: TCursor;
begin
FCurrenciesCount := 0;
TempCursor := Screen.Cursor;
Screen.Cursor := crHourGlass;
Application.ProcessMessages;
SetLength(FCurrenciesList, 0);
SetLength(FCurrenciesList, 1);
i := 0;
HTTP := THTTPSend.Create;
try
HTTP.ProxyHost := PROXY_SERVER;
HTTP.ProxyPort := PROXY_PORT;
HTTP.ProxyUser := PROXY_USER;
HTTP.ProxyPass := PROXY_PASSWORD;
if HTTP.HTTPMethod('POST', GET_CURRENCIES_URL) then
begin
ReadXMLFile(CurrXML, HTTP.Document);
N := CurrXML.DocumentElement;
N := N.FirstChild;
while Assigned(N) do
begin
E := N as TDomElement;
FCurrenciesList[i].ID := E.GetAttribute('ID');
C := N.FindNode('Name');
if Assigned(C) then
FCurrenciesList[i].Name := GetNodeTextContent(C as TDomElement);
C := N.FindNode('EngName');
if Assigned(C) then
FCurrenciesList[i].EngName := GetNodeTextContent(C as TDomElement);
FCurrenciesCount := i + 1;
N := N.NextSibling;
if Assigned(N) then
begin
Inc(i);
SetLength(FCurrenciesList, i + 1);
end;
end;
end
else
begin
btnGetRateHistory.Enabled := False;
end;
finally
HTTP.Free;
Screen.Cursor := TempCursor;
end;
end;
Только метод Get у меня как-то не заработал...
