Чтение данных с сайта - PullRequest
0 голосов
/ 19 мая 2018

enter image description here

Прошу помощи в доступе к сайту http://dctgdansk.pl/pl/strefa-klienta/sprawdz-kontener-online/ с уровня кода.

Есть "Номер контейнера""окно, в которое необходимо ввести номер контейнера и после нажатия стрелки на который становятся доступными данные о данном контейнере.

К сожалению, источник страницы не имеет такой информации, которую можно загрузить в мою программу черезфункция IdHTTP1-> Get (адрес) .

У меня нет опыта чтения данных с сайтов, но в одном случае, который я использую в адресе страницы, все данныеНеобходимо открыть еще одну страницу, в этом случае адрес сайта остается неизменным.

1 Ответ

0 голосов
/ 21 мая 2018

Номер контейнера передается с использованием стандартной веб-формы HTML:

<form action="https://dctgdansk.pl/pl/strefa-klienta/sprawdz-kontener-online/" method="post">
  <input type="text" id="cntrnumber" name="cntrnumber" value="Container Number:" class="default"/>
  <input type="submit" value="szukaj"/>
</form>

Чтобы отправить такую ​​веб-форму с использованием компонента TIdHTTP Indy, используйте перегруженную версию метода Post(), который принимает TStrings в качестве ввода, например:

var
  Params: TStringList;
  Response: string;
begin
  Params := TStringList.Create;
  try
    Params.Add('cntrnumber=' + ContNum);
    Response := IdHTTP1.Post('https://dctgdansk.pl/pl/strefa-klienta/sprawdz-kontener-online/', Params);
  finally
    Params.Free;
  end;
  // use Response as needed ...
end;
...