Avatar billede spil2vind Nybegynder
02. februar 2010 - 14:23 Der er 13 kommentarer

Download og gem fil

Hej alle sammen, jeg ville gerne høre om det er muligt at udføre en download af filer, som er lagt som link på en hjemmeside, som f.eks.
<p><a href="http://www.spil2vind.dk/installspil2vind.exe">Link
</a></p>
det gøres jo normalt ved at højre klikke på linket, også vælge "Gem destitination som..", men jeg ville gerne have lavet et program som via indy twebbrowser eller andet, hvor siden gennemløbes for filer der kan downloades

Pft
Carsten
Avatar billede arne_v Ekspert
02. februar 2010 - 15:01 #1
TIdHttp boer kunne hente side, og saa kan du parse links ud og hente dem. Uden brug af embedded browser.
Avatar billede spil2vind Nybegynder
02. februar 2010 - 15:09 #2
Kan du beskrive dette med lidt eksempler, idet jeg ikke helt er med på, hvordan man parser ?
Avatar billede arne_v Ekspert
03. februar 2010 - 02:33 #3
Den nemmeste måde at parse på er nok ved at finde et regex lib for Delphi.
Avatar billede spil2vind Nybegynder
03. februar 2010 - 17:24 #4
Den windows funktion der kaldes når der trykkes på højre musetast og man vælger "Gem destitination som.." kan den ikke klades fra delphi med parametre?
Avatar billede arne_v Ekspert
05. februar 2010 - 03:33 #5
Ved at embedde en browser DLL i din app.

Måske.

Men jeg ved ikke hvordan.
Avatar billede kroning Nybegynder
05. februar 2010 - 16:43 #6
TIdHttp har en Get funktion som kan bruges til at hente filer, mht. at finde filerne i HTML koden så kan det gøres enkelt ved at bruge Pos og PosEx til at søge efter f.eks. "<a href"
Avatar billede spil2vind Nybegynder
06. februar 2010 - 14:56 #7
Har prøvet med brug af post,men kan ikke finde ud af logge ind, har prøvet følgende:

Pars := TStringList.Create;
Pars.Add('&txtPageNr=1');
Pars.Add('&txtItemsPage=10');
Res  := TStringStream.Create('');
IdHTTP1.Request.Username := 'username';
IdHTTP1.Request.Password := 'password';
IdHTTP1.Post('URL adresse', Pars, Res);
Res.SaveToFile('c:\geturl\test.mpg');

men får nedentsående i filen:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>401 Authorization Required</TITLE>
</HEAD><BODY>
<H1>Authorization Required</H1>
This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.<P>
<P>Additionally, a 401 Authorization Required
error was encountered while trying to use an ErrorDocument to handle the request.
</BODY></HTML>

så måske er det min opstilling af parameter inden kald af post?
Avatar billede kroning Nybegynder
06. februar 2010 - 16:23 #8
Nå det er en side man skal logge ind på, det er ikke noget jeg har rodet med tidligere så jeg har ingen ideer.
Avatar billede arne_v Ekspert
14. februar 2010 - 03:35 #9
Hvilken form for login kræver den side BASIC HTTPP, DIGEST HTTP eller noget tredie?
Avatar billede spil2vind Nybegynder
14. februar 2010 - 11:31 #10
Login sker på en http hjemmeside, hvor der kommer et almindelig MS login vindue
Avatar billede arne_v Ekspert
15. februar 2010 - 03:43 #11
Det kunne være NTLM authentication.

Lidt googling antyder at der skulle eksistere en TIdNTLMAuthentication klasse i Indy.

Men samme googling vil ikke lige levere et færdigt eksempel !
Avatar billede kroning Nybegynder
15. februar 2010 - 04:15 #12
Et link til siden ville måske hjælpe
Avatar billede spil2vind Nybegynder
15. februar 2010 - 18:33 #13
At åbne op til IIS server på min egen XP er vel ikke for smart?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester