Aktualny kurs walut bez XML-a

0

Hej !
Kilka lat temu zrobiłam programik dla własnych potrzeb ( korzystając z gotowca z Waszej strony ) pobierający ze strony http://www.waluty.com.pl/wraper.php?url=waluty_old.php aktualne kursy walut.
Ma on jeszcze inne funkcje ale to działa poprawnie.
Niesty od kilku dni przestał pobierać akualne kursy ( jeszcze w listopadzie wszystko działało OK. ). W pierszej kolejności pomyślałam, że mniło się coś na stronie, porównałam kody żródłowe obecne oraz z przed kiku lat i zupełnie nic się w tabelach walut nie zmieniło a jednak nie są pobierane dane.
Poniżej wklejam kod. Może ktoś miły pomoże w znaleziemiu błędu ????

procedure TTowarForm.BitBtn2Click(Sender: TObject);
var
Http: TIdHTTP;
S, Src: String;
i, P: Integer;
Kurs: String;
euro: double;
begin
Http := TIdHTTP.Create(nil);
// pobierzmy źródło
try
Src := Http.Get('http://www.waluty.com.pl/wraper.php?url=waluty_old.php');
// znajdz pozycje kursu na stronie
S := '1 EUR</td>euro</td>';
P := Pos(S, Src) + Length(S);
// pobierz teraz kurs
for i := P to P + 10 do
begin
if Src[i] <> '<' then // jesli nie jest < ...
begin
if not(Src[i] in ['0', '1', '2', '3', '4', '5', '6', '7',
'8', '9']) then Src[i] := DecimalSeparator;
Kurs := Kurs + Src[i]; // .. to zapisuj, bo to kurs
end
else // jesli znaleziono <
Break; // to wyjdz
end;
// wyswietl kurs
Edit2.Text := kurs;
euro:= StrToFloat(kurs);
//TUTAJ BYŁY WYKONYWANE DALSZE OBLICZENIA ALE TO JEST NIE WAŻNE
Http.Free;
except
ShowMessage('Nie można połączyć się z serwerem!');
HTTP.Disconnect; // rozłączenie
end;
end;

1

U mnie działa tzn. prawie działa wystarczyło włączyć obsługę przekierowań:

begin
  Http := TIdHTTP.Create(nil);
// pobierzmy źródło
try
  Http.HandleRedirects:= True; //<-- dodaj
  Src := Http.Get('http://www.waluty.com.pl/wraper.php?url=waluty_old.php');
0

KAZEK jesteś WIELKI. Działa.
Zastanawiam się tylko dlaczego przez kilka lat wszystko było OK., a dopiero od kilku dni nie pobierało mi danych.

0

A to już wina serwera który przekierowuje adres strony na bez www. Czyli działało by też bez HandleRedirects gdyby podać adres bez www ale lepiej obsłużyć przekierowanie.

0

Ależ ja głupia jestem.
Jeszcze raz wielkie dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.