Delphi - Curl - Indy

0

Witajcie mam pytanko. Mam zainstalowanego curla na linuxie i potrzebowałbym napisać aplikację, która pobierze dane tak jak to zrobił curl. Pytanie zatem jest następujące: W jaki sposób mogę tą komendę:
curl -H "apikey: xxxx" -H "login:xxxx" -H "pass:xxxx" -F 'stop_trud=1&wiersze=10&kolumny=10&ilosc_pkt' http://xxx.pl/public/apipk/apipk/index

wywołać z np poziomu indy?

2

Po mojemu to coś w ten deseń:

const
  URL = 'http://xxx.pl/public/apipk/apipk/index';
var
  sHTML: string;
  slPostData: TStringList;
begin
  IdHTTP1.HandleRedirects:= True;
  IdHTTP1.Request.CustomHeaders.Add('apikey: xxxx');
  IdHTTP1.Request.CustomHeaders.Add('login:xxxx');
  IdHTTP1.Request.CustomHeaders.Add('pass:xxxx');
  slPostData:= TStringList.Create;
  try
  slPostData.Add('stop_trud=1');
  slPostData.Add('wiersze=10');
  slPostData.Add('kolumny=10');
  slPostData.Add('ilosc_pkt=');
  IdHTTP.Request.ContentType:= 'multipart/form-data;';
  sHTML:= IdHTTP1.Post(URL, slPostData);
  finally
  slPostData.Free;
  end;
end;

Może będzie trzeba wprowadzić jakieś zmiany w kodzie w zależności od typu danych jakie mają być zwrócone (założyłem string np. kod HTML strony lub XML) wersji Delphi i samego Indy. Może też być konieczne uzupełnienie innych nagłówków np. User-Agent, Accept itp.

0

Dzięki dokładnie o to chodziło. Dla innych, którzy by potrzebowali to na końcu jest literówka mała: IdHTTP1.Request.ContentType:= 'multipart/form-data;';

1 użytkowników online, w tym zalogowanych: 0, gości: 1