Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   download in turbo-d. ohne url (https://www.delphipraxis.net/132478-download-turbo-d-ohne-url.html)

Haukez 13. Apr 2009 22:25


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

jaenicke 13. Apr 2009 22:36

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.

Haukez 13. Apr 2009 22:46

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

Luckie 13. Apr 2009 22:50

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.

jaenicke 13. Apr 2009 22:51

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;

Haukez 13. Apr 2009 23:46

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

jaenicke 13. Apr 2009 23:50

Re: download in turbo-d. ohne url
 
Ohne Quelltext?

Moment...
:glaskugel:

Hmm, das kann dauern... willst du nicht lieber doch den Quelltext zeigen? :zwinker:

Cyberbob 13. Apr 2009 23:54

Re: download in turbo-d. ohne url
 
Ja, Code wäre Hilfreich. Wann genau kommt der Fehler? Vielleicht bei MyStream?

Haukez 14. Apr 2009 00:02

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.

jaenicke 14. Apr 2009 00:05

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:
http://crashkurs.christian-stelzmann.de
und die neue Version speziell ab Turbo Delphi:
http://www.christian-stelzmann.de/in..._reloaded.html

Cyberbob 14. Apr 2009 00:08

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;

jaenicke 14. Apr 2009 00:09

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.

Haukez 14. Apr 2009 00:22

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

Cyberbob 14. Apr 2009 00:28

Re: download in turbo-d. ohne url
 
Wie gesagt, ungetestet. Hab nochmal nachgeschaut!
Delphi-Quellcode:
MyStream := TFileStream.Create('C:\Daten.tmp', fmCreate);

Haukez 14. Apr 2009 00:52

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 ???

jaenicke 14. Apr 2009 00:53

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.

hoika 14. Apr 2009 07:26

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