![]() |
download in turbo-d. ohne url
Hi liebe D-Praktiker,
da ich neu in der internetsparte von delphi bin, weiß ich leider nicht wie ich dateien runterlade. Mein Problem: •Der download wird über einen button geöffnet •Ich möchte einen Download starten nach dem ein submit button einer seite abgeschickt wurde •Der download sollte nach möglichkeit nur temporär gespeichert werden •Evtl. auch ein tutorial zu cookiemanagern in turbo-d. ich würde mich über codeschnipsel oder detailierte links freuen :) LG haukezzzzz |
Re: download in turbo-d. ohne url
Du kannst z.B. TIdHttp benutzen. Das unterstützt auch einen CookieManager, der auch so heißt. Ggf. solltest du (wenn es ein größerer Download ist), diesen in einem Thread laufen lassen.
Funktionieren tut das z.B. über Get, dort kannst du auch einen Stream als Ziel angeben. |
Re: download in turbo-d. ohne url
jo denke ich auch das mit idhttp,
wie gesagt ich habe keine ahnung wie ich das machen soll, das heißt wie ich da ansetzen soll, und wie gesagt der download startet nach einem button-klick ich bräuchte echt codeschnipsel lg hauk |
Re: download in turbo-d. ohne url
Du musst nur die URL rausfinden. Diese kannst du dann bei IdHTTP.Get angeben.
aber eventuell erklärst du mal genauer was du vorhast und um welche Webseite es geht. Dein erstes Posting habe ich nämlich so gut wie nicht verstanden. |
Re: download in turbo-d. ohne url
Die gibts ja auch nur hundertfach zu diesem Thema, wenn man danach sucht...
Delphi-Quellcode:
var
MyIdHttp: TIdHttp; begin MyIdHttp := TIdHttp.Create; try MyIdHttp.Get('Adresse', MyStream); finally MyIdHttp.Free; end; |
Re: download in turbo-d. ohne url
hey danke jaenicke aber ich bekomme leider einen fehler zurück :(
hab quelltexte durchforstet und nun doch den dl-link gefunden ^^ Zugriffsverletzung bei Adresse 00404C5A4 im Modul 'Projekt1 .exe'. Lesen von Adresse FFFFFFD. ich weiß leider nich was falsch ist :( kann da jemand helfen ???? lg haukezzz |
Re: download in turbo-d. ohne url
Ohne Quelltext?
Moment... :glaskugel: Hmm, das kann dauern... willst du nicht lieber doch den Quelltext zeigen? :zwinker: |
Re: download in turbo-d. ohne url
Ja, Code wäre Hilfreich. Wann genau kommt der Fehler? Vielleicht bei MyStream?
|
Re: download in turbo-d. ohne url
So,
das ist mein bisheriges projekt, um es zu erklären ich will dateien bei uploaded.to herunterladen , da kumpels mir ihre dateien manchmal über den wege übermitteln und ich eh gerade am experemtieren mit den internetkomponenten bin. achja der fehler kommt bei drücken des button2click
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw, idhttp; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Button1: TButton; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin webbrowser1.navigate(edit1.text); end; procedure TForm1.Button2Click(Sender: TObject); var MyIdHttp: TIdHttp; MyStream : TFilestream; begin MyIdHttp := TIdHttp.Create; try MyIdHttp.Get('http://s37b1-cb.uploaded.to/dl?id=74db62b0f2ca24a28cacdbcfadb7a74d', MyStream); finally MyIdHttp.Free; end; end; end. |
Re: download in turbo-d. ohne url
Du musst den Stream natürlich auch erzeugen...
Du kannst ja nicht einfach ein unitialisiertes Objekt verwenden. An der Stelle empfehle ich einmal diesen Crashkurs: ![]() und die neue Version speziell ab Turbo Delphi: ![]() |
Re: download in turbo-d. ohne url
Versuchs mal so: (Ungetestet)
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var MyIdHttp: TIdHttp; MyStream : TFilestream; begin MyStream := TFileStream.Create; try MyIdHttp := TIdHttp.Create; try MyIdHttp.Get('http://s37b1-cb.uploaded.to/dl?id=74db62b0f2ca24a28cacdbcfadb7a74d', MyStream); finally MyIdHttp.Free; end; //Tu irgendwas mit MyStream finally FreeAndNil(MyStream); end; end; |
Re: download in turbo-d. ohne url
Und wenn du an der Stelle etwas damit tust, vergiss nicht, dass die Position des Zeigers innerhalb des Streams am Ende des Streams steht.
|
Re: download in turbo-d. ohne url
Danke leute für die hilfe fehler gibts trotzdem^^
achja das mit dem TUT danke, die hälfte oder mehr kennt man ja aber trotzdem gut zum nachschlagen jaenicke :) [Pascal Fehler] Unit1.pas(45): E2250 Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann MyStream := TFileStream.Create; scheint demnach nicht sauber help |
Re: download in turbo-d. ohne url
Wie gesagt, ungetestet. Hab nochmal nachgeschaut!
Delphi-Quellcode:
MyStream := TFileStream.Create('C:\Daten.tmp', fmCreate);
|
Re: download in turbo-d. ohne url
oh mann dachte nich das es sow viel probs gibt, naja
das prog sagt mir http/ 1.1 302 found liegt das etwa an der version von turbo delphi ??? |
Re: download in turbo-d. ohne url
Nein, du solltest lieber einmal in die Liste der HTTP-Codes schauen, wenn mich nicht alles täuscht, heißt 302 Weiterleitung, also musst du AllowRedirects oder so ähnlich auf True setzen.
|
Re: download in turbo-d. ohne url
Hallo,
versuche mal die Datei direkt über den IE oder Firefox zu laden. Das geht bei mir nicht (Registrierung erforderlich). Wenn das nicht irgendwie über Cookies gelöst ist, klappt der Download eh nicht. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz