AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Rapidshare Premium Login - Wie?
Thema durchsuchen
Ansicht
Themen-Optionen

Rapidshare Premium Login - Wie?

Ein Thema von schismatic1 · begonnen am 24. Mai 2009 · letzter Beitrag vom 26. Mai 2009
Antwort Antwort
Seite 5 von 5   « Erste     345   
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.581 Beiträge
 
Delphi 11 Alexandria
 
#41

Re: Rapidshare Premium Login - Wie?

  Alt 24. Mai 2009, 21:22
Zitat von 0xF30FC7:
daß Rapidshare den Premium Download von Dateien via HTTP Auth erlaubt?
Das kann ich ja nicht wissen, ich kenne Rapidshare kaum, schon gar nicht die Premiumzone.
Aber mit SSL ist es sicherer.

Und der Cookie sollte doch vom Cookiemanager verwaltet werden, oder?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#42

Re: Rapidshare Premium Login - Wie?

  Alt 24. Mai 2009, 21:28
Hab ich auch grad gesehen. Ok, dann hilfts ja doch ansatzweise. Trotzdem würde ich HTTP Auth vorziehen. Vor allem weils den separaten Login Krams unnötig macht. Wenn Datei http://rapidshare.com/files/111111/datei.exe runtergeladen werden soll, pack ich einfach die Auth Daten mit in den HTTP Request und erhalt die Datei direkt.
Fridolin Walther
  Mit Zitat antworten Zitat
schismatic1

Registriert seit: 24. Mai 2009
28 Beiträge
 
#43

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 19:11
Moment jetzt...

Das heißt wenn ich die Datei http://rapidshare.com/files/235937034/gain.dat (für das Beispiel hochgeladen) runterladen will könnte ich mittels dieser sache hier:

Delphi-Quellcode:
TIdHTTP.Request.BasicAuthentication := true;
TIdHTTP.Request.Username := 'rapidshareusername';
TIdHTTP.Request.Password := 'rapidsharepassword';
auch den Download starten? (bei Premiumlogin ist es wohl aber 'Login' statt 'Username')

Aber beim Aufruf des Links passiert ja noch nicht viel. Nach dem Klick auf 'Premium' ändert sich die URL in http://rs712.rapidshare.com/files/235937034/gain.dat. Bei Manueller Eingabe der URL in die Browserleiste baut sich aber wieder nur der Inhalt von http://rapidshare.com/files/235937034/gain.dat auf. Verrückt

[snip]

Ohohoh... meine Birne ist gerade voll am rühren von Informationen. Und langsam ergibt sich ein Bild.

#1 die URL war falsch, so muss die aussehen: https://ssl.rapidshare.com/cgi-bin/p...WORT&german=on
Wenn ich das manuell in die Browserleiste eingebe bekomme ich den Login. Das heißt ich muss meinen Quelltext dahingehend anpassen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  try
    { add the used parameters for the script }
    data.AddFormField('?login=', edit1.Text);
    data.AddFormField('&password=', edit2.Text);
    data.AddFormField('&german=', 'on');
    { Call the Post method of TIdHTTP and read the result into TMemo }
    Memo1.Lines.Text := IdHTTP1.Post('https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi', data);
  finally
    data.Free;
  end;
end;
Das probiere ich gleich mal. Wenn das aber nicht geht dann müsste mir jemand bitte sagen wo folgender Quelltext hingepackt werden muss

Delphi-Quellcode:
object IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket
   SSLOptions.Method = sslvSSLv2
   SSLOptions.Mode = sslmUnassigned
   SSLOptions.VerifyMode = []
   SSLOptions.VerifyDepth = 0
   Left = 496
   Top = 65528
  end
  object http: TIdHTTP
   IOHandler = IdSSLIOHandlerSocket1
   MaxLineAction = maException
   ReadTimeout = 0
   AllowCookies = True
   ProxyParams.BasicAuthentication = False
   ProxyParams.ProxyPort = 0
   Request.ContentLength = -1
   Request.ContentRangeEnd = 0
   Request.ContentRangeStart = 0
   Request.ContentType = 'text/html'
   Request.Accept = 'text/html, */*'
   Request.BasicAuthentication = False
   Request.UserAgent =
     'Mozilla/5.0 (Windows; U; Windows NT 6.0; cs; rv:1.9.0.3) Gecko/2' +
     '008092417 Firefox/3.0.3'
   HTTPOptions = [hoForceEncodeParams]
   Left = 520
   Top = 65528
  end
Wenn ich den nämlich einfach in meine Quelltext reinpacke dann erhält 'objects' immer eine rote wellige Linie :X

[edit=Phoenix]Lange Linie von Unterstrichen, die das Design zerissen haben, entfernt. Mfg, Phoenix[/edit]
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#44

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 20:21
Zitat von schismatic1:
Delphi-Quellcode:
object IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket
   SSLOptions.Method = sslvSSLv2
   SSLOptions.Mode = sslmUnassigned
   SSLOptions.VerifyMode = []
   SSLOptions.VerifyDepth = 0
   Left = 496
   Top = 65528
  end
  object http: TIdHTTP
   IOHandler = IdSSLIOHandlerSocket1
   MaxLineAction = maException
   ReadTimeout = 0
   AllowCookies = True
   ProxyParams.BasicAuthentication = False
   ProxyParams.ProxyPort = 0
   Request.ContentLength = -1
   Request.ContentRangeEnd = 0
   Request.ContentRangeStart = 0
   Request.ContentType = 'text/html'
   Request.Accept = 'text/html, */*'
   Request.BasicAuthentication = False
   Request.UserAgent =
     'Mozilla/5.0 (Windows; U; Windows NT 6.0; cs; rv:1.9.0.3) Gecko/2' +
     '008092417 Firefox/3.0.3'
   HTTPOptions = [hoForceEncodeParams]
   Left = 520
   Top = 65528
  end
Wenn ich den nämlich einfach in meine Quelltext reinpacke dann erhält 'objects' immer eine rote wellige Linie :X
Das gehört in deine DFM-Datei.
  Mit Zitat antworten Zitat
schismatic1

Registriert seit: 24. Mai 2009
28 Beiträge
 
#45

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 20:43
Tadaaaa

Habe gerade nebenbei ein wenig rumprobiert und siehe da: Die Fehlermeldung 'IOHandler value is not valid' wurde erfolgreich terminiert ^^

Ich brauchte den Code nicht zu integrieren, es reichte die auf dem Formular platzierten IdHTTP1 und IdSSLIOHandlerSocketOpenSSL1 miteinerander zu verlinken indem ich beim Objektinspektor von IdHTTP1 einfach unter Linkage - IOHandler IdSSLIOHandlerSocketOpenSSL1 eingetragen habe

JETZT muss ich nur noch dem Programm verstehen zu geben wo sich die Programmbibliotheken befinden damit auch noch die Fehlermeldung 'Could not load SSL library' verschwindet


Wenn ich es noch richtig in Erinnerung habe handelt es sich um die beiden .DLLs mit dem Namen 'libssl32.dll' und 'libeay32.dll' welche doch einfach nur in jenen Ordner gepackt werden müssten in welchem sich die Programm.exe befindet, oder? Habe es versucht aber noch scheinen sie nicht gefunden zu werden

Edit meint: Das spielen mit Fake-DLLs hat mir gezeigt das es 'libeay32.dll' und 'ssleay32.dll' (statt libssl32.dll) sein muss. Nachdem ich jene runtergeladen habe wurde zusätzlich noch nach 'vsinit.dll' gefragt. Auch diese habe ich gesucht, gefunden, runtergeladen und in den Ordner zu der Programm.exe gepackt. Jedoch schreit er mir nun wieder den Fehler 'Could not load SSL library' an den Kopf. Blöd...

Wenn da jetzt noch jemand den (wahrscheinlich letzen) Hinweis geben könnte wie ich das noch einrenken kann das dieser 'Could not load SSL library' Fehler verschwindet würde ich glatt platzen vor freude
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#46

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 21:54
Falls es jemanden interessiert: Wie man eine Datei bei Rapidshare herunterlädt und dabei einen Premium Account nutzt in weniger als 20 Zeilen Code. Keine lustigen DLLs oder sonstiges Gedöhns .
Delphi-Quellcode:
procedure DownloadFileFromRapidshare(URL, DestinationFile, Username, Password : string);
var
  FileStream: TFileStream;
  HTTP : TIdHTTP;
begin
  FileStream := TFileStream.Create(DestinationFile, fmCreate);
  HTTP := TIdHTTP.Create;
  HTTP.Request.BasicAuthentication := true;
  HTTP.Request.Username := Username;
  HTTP.Request.Password := Password;
  HTTP.HandleRedirects := true;
  HTTP.Get(URL, FileStream);
  HTTP.Free;
  FileStream.Free;
end;
Disclaimer: Bevor man den Code adaptiert sollte man ihn zumindest um Fehlerhandling erweitern. Auch wäre es wahrscheinlich benutzerfreundlicher wenn man das ganze asynchron macht damit die UI nicht für die Dauer des Downloads blockiert .
Fridolin Walther
  Mit Zitat antworten Zitat
schismatic1

Registriert seit: 24. Mai 2009
28 Beiträge
 
#47

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 22:44
Das klingt ja geil

Gleich mal testen

EDIT: Wow, das klappt ja prima ^^

Tausendmal einfacher als die Sache mit dem SSL und für meine Zwecke ausreichend

Kannst du mir vielleicht noch sagen was du mit "asynchron" meinst?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.581 Beiträge
 
Delphi 11 Alexandria
 
#48

Re: Rapidshare Premium Login - Wie?

  Alt 25. Mai 2009, 22:55
Asynchron heißt eben im Thread, damit dein Programm derweil noch normal reagiert...
Zudem sind synchron wie im Beispiel keine multiplen Downloads möglich.

Die Funktionalität des Tools ist so allerdings erst einmal schlechter als jeder existierende Downloadmanager für diesen Zweck.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
schismatic1

Registriert seit: 24. Mai 2009
28 Beiträge
 
#49

Re: Rapidshare Premium Login - Wie?

  Alt 26. Mai 2009, 09:25
Morgen,

danke an alle die sich die Zeit genommen haben hier Hilfe zu leisten. Habe statt dem direkten Login bei Rapidshare nun wie 0xF30FC7 geschrieben bei jeder Downloadanfrage die Zugangsdaten übersendet.

Das Programm funktioniert auch soweit super aber bedarf jetzt noch einer optimierung ---> Download in Thread & Download nur im Arbeitsspeicher halten und löschen anstatt Festplatte anzusprechen.

Doch da das mit dem eigentlichen Problem nichts mehr zu tun hat, erstelle ich dafür wenn einen eigenen Thread!

Aber bisher:

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz