URLDownloadToFile

0

Mam pewien problem, chciałbym użyć funkcji URLDownloadToFile aby pobrać malutki pliczek ze stronki. Jest to właściwie plik ini. Jednak po pobraniu na dysku zamiast sciąganego pliku jest stronka html (przy czym plik sie nazywa tak jak trzeba). Jak odpale tą stronkę to dopiero mi wyskakuje sciąganie pliku. Podejrzewam że to może jakas blokada w IE ? Ale nie mam pojęcia. Będę wdzięczny za pomoc. Albo może ktoś ma pod ręką zwęzły kawałek kodu oparty na WinInet umożliwiający pobranie pliku ze strony ?

P.S. nie interesują mnie żadne komponenty
P.S.2 przejrzałem archiwum i pogoogowałem troche

0

Kurde wininet daje te same rezultaty:

procedure TForm1.Button1Click(Sender: TObject);
const BufferSize = 1024;
var FileOnNet, LocalFileName : String;
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: File;
  sAppName: string;
begin
FileOnNet := 'http://www.ge0dezja.prv.pl/files/geomax/version.ini';
LocalFileName:='d:\version.ini';
 sAppName := ExtractFileName(Application.ExeName);
 hSession := InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 try
  hURL := InternetOpenURL(hSession, PChar(fileonnet),  nil,0,0,0);
  try
   AssignFile(f,localFileName);
   Rewrite(f,1);
   repeat
	InternetReadFile(hURL, @Buffer,
					 SizeOf(Buffer), BufferLen);
	BlockWrite(f, Buffer, BufferLen)
   until BufferLen = 0;
   CloseFile(f);
  finally
   InternetCloseHandle(hURL)
  end
 finally
  InternetCloseHandle(hSession)
 end
end;

i sciaga mi sie to samo:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Geodezja, programowanie, CAD</title><meta name="robots" content="ALL"> <meta http-equiv="http-equiv" name="pragma" content="no-cache"> <meta name="description" content="Strona traktuje o zagadnieniach geodezyjnych, programowaniu (Delphi, Pascal, Basic), pakietach CAD (MicroStation, AutoCAD) oraz innych rzeczach zwi±zanych z informatyk±."> <meta name="author" content=""> <meta name="keywords" content="ge0dezja, geodezja, Delphi, MicroStation"> </head> <frameset framespacing="0" border="0" frameborder="0" rows="100%,*" noresize="noresize"> <frame name="q12sdae44" noresize="noresize" src="http://www.ge0dezja.republika.pl//files/geomax/version.ini"></frameset> </html>
0

ściąga ci się dobrze - ściągasz alias z ramką wskazującą na plik - prv.pl to jest alias a nie domena i nie możesz z tego korzystać jak z domeny - na dole po "src=" w cudzysłowie masz url do pliku http://www.ge0dezja.republika.pl/files/geomax/version.ini

0

O kurde, dzięki ! Mam nadzieje ze to to : ) sprawdze wieczorkiem.

0

Przy okazji chciałbym ostrzec: prv.pl cholernie często zmienia system przekazywania prawdziwych adresów stron. Przez co jeśli nie jest to konieczne, nie używaj aliasa prv.pl tylko pełnej nazwy strony. Inaczej po pewnym czasie (niezbyt długim) program może Ci przestać działać. Ja swój system automatycznej aktualizacji cztery razy dostoswywałem do prv.pl, po czym się poddałem i zamieściłem odnośnik do pełnej nazwy strony (ryzykując niedziałaniem, gdybym się przenosił).

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