O modalitate simplă de a descărca un fișier prin http

Dacă programul dvs. include plug-in-uri (BPL sau DLL) sau este necesar să se actualizeze programul în sine, cu siguranță a fost o problemă la actualizarea copii ale programului. Odată cu dezvoltarea internetului, a existat o mare oportunitate de a face acest lucru rapid și frumos. În acest articol, vă vom arăta cum să adăugați opțiunea pentru actualizarea automată a programelor de pe Internet.







Delphi ne oferă acces deplin la API WinInet (wininet.pas), permițându-vă să vă conectați și descărca orice fișier de pe site-ul specificat folosind protocoale FTP sau HTTP. De exemplu, putem folosi funcțiile API WinInet pentru a crea un browser FTP sau un program pentru a căuta fișierele specificate pe servere publice FTP.

Funcția principală a programului nostru este GetInetFile:

Notă: Desigur, acest exemplu trebuie extins prin introducerea, spre exemplu, a codului pentru a afișa progresul descărcării în bucla.







Este foarte ușor să utilizați funcția GetInetFile:

Și că dacă se pierde conexiunea, programul se va închide.
Cum să evitați acest lucru (pentru a stabili o nouă conexiune și pentru a relua fișierul?

iar antivirusul detectează un virus ca program. cu codul dvs.)

Și dacă trebuie să descarcă un FTP, unde trebuie să specificați un nume de utilizator și o parolă?

var FileOnNet, LocalFileName: șir;

dacă GetInetFile (FileOnNet, LocalFileName) = True atunci
ShowMessage ("Descărcare de succes")
altfel
ShowMessage ("Eroare în descărcarea fișierului")
se încheie;

în C ++ Builder6 - IdHTTP și IdFTP (clienți Indy)

utilizează urlmon;
var i. hresult;
începe
dacă ParamCount <> 2 apoi începe
writeln ('format: wload „); ieșire;
se încheie;
i: = URLDownloadToFile (nul, pchar (ParamStr (1)), pchar (ParamStr (2)), 0, nil);
dacă i <> 0 atunci writeln ("eroare de descărcare", I);
end.

IMHO, e mai bine să scrii astfel de lucruri folosind mufe.

Pentru a afișa progresul, este bine să cunoașteți dimensiunea fișierului descărcat.

poate cineva să știe cum să traducem în mod programatic IE în modul online?

Da, și făcut în Shareaza 2.2.0.0

Ca urmare, dacă Internet Explorer este deconectat sau dacă configurația de securitate îmbunătățită este activată, nimic nu a funcționat nafig.







Articole similare

Trimiteți-le prietenilor: