Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Rapidshare Premium Login - Wie? (https://www.delphipraxis.net/134539-rapidshare-premium-login-wie.html)

jaenicke 24. Mai 2009 17:48

Re: Rapidshare Premium Login - Wie?
 
Zitat:

Zitat von jaenicke
Für SSL muss man ja nur die Unit einbinden und einen entsprechenden IO-Handler einbauen. Das sollte die Unit IdSSLOpenSSL [...] sein.

Also:
Delphi-Quellcode:
uses
  IdHttp, IdSSLOpenSSL, IdCookieManager;

schismatic1 24. Mai 2009 18:03

Re: Rapidshare Premium Login - Wie?
 
Sooo... die letzen roten Wellen sind dank IdCookieManager verschwunden.

Aaaaber die Sache mit der Unit will noch nicht so ganz in meine Birne.

Deswegen hier kurz mein Quelltext

Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
  StdCtrls, IdMultipartFormData, IdServerIOHandler, IdSSL, IdSSLOpenSSL,
  IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdServerIOHandlerSocket,
  IdServerIOHandlerStack, IdIOHandlerStream, IdCookieManager ;

type
  TForm2 = class(TForm)
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;



implementation

{$R *.dfm}


procedure TForm2.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);
    { Call the Post method of TIdHTTP and read the result into TMemo }
    Memo1.Lines.Text := IdHTTP1.Post('https://ssl.rapidshare.com/premiumzone.html', data);
  finally
    data.Free;
  end;
end;


var
  IdHttpLoader: TIdHttp;
  CookieManager: TIdCookieManager;
  SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
  SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create;
  CookieManager := TIdCookieManager.Create;
  IdHttpLoader := TIdHttp.Create;
  try
    IdHttpLoader.CookieManager := CookieManager;
    IdHttpLoader.IOHandler := SSLIOHandler;
    IdHttpLoader.HandleRedirects := True;

  finally
    IdHttpLoader.Free;
  end;
end.
Ganz oben sind bei mir die Reiter: "Welcome Page - Unit 2 - IdHTTP" und ich möchte fast wetten das du meinst das ich da noch zusätzlich die IdSSLopenSSL reinbringen muss damit das dann läuft - doch woher nehmen? Finde die im 'Design-Modus' nicht bei den ganzen Tools wo die ganzen Indys sind.

jaenicke 24. Mai 2009 18:17

Re: Rapidshare Premium Login - Wie?
 
Ich hab das noch nie mit visuellen Komponenten probiert, keine Ahnung was es da gibt und was nicht außer TIdHttp selbst.

Aber wie kommst du darauf den Quelltext in das Event zu schreiben? Du musst das doch nur der Reihe nach abbarbeiten.

schismatic1 24. Mai 2009 18:21

Re: Rapidshare Premium Login - Wie?
 
das hat halt so schön da reingepasst :X habs nun aber editiert und ans Ende gepackt.

Aber bisweilen besteht noch immer der gleiche Fehler : "IOHandler value is not valid" :(

Aber wie gesagt, muss da oben in den Reitern noch eine Unit mit dem Namen IdSSLopenSSL existieren? aktuell steht IdSSLopenSSL nur bei den uses drinne.

Apollonius 24. Mai 2009 18:25

Re: Rapidshare Premium Login - Wie?
 
Die Reiter beeinflussen den Compiler nicht, sondern zeigen nur die gerade geöffneten Dateien an. Der Compiler ist unabhängig vom Editor.

jaenicke 24. Mai 2009 18:28

Re: Rapidshare Premium Login - Wie?
 
Zitat:

Zitat von schismatic1
das hat halt so schön da reingepasst :X habs nun aber editiert und ans Ende gepackt.

Irgendwie ist es aber jetzt in keiner Prozedur oder Funktion mehr...

Zitat:

Zitat von schismatic1
aktuell steht IdSSLopenSSL nur bei den uses drinne.

Das ist ja auch korrekt so.

Bei deinen Kenntnissen, wie du sie gerade demonstrierst, frage ich mich wie du da ernsthaft auch den Download hinbekommen willst...
Du solltest dir erstmal die Grundlagen von Delphi aneignen...

Einen sehr guten Crashkurs findest du hier:
http://crashkurs.christian-stelzmann.de
und die neue Version speziell ab Turbo Delphi:
http://www.christian-stelzmann.de/in..._reloaded.html

Ein weiteres gutes Online-Buch:
http://de.wikibooks.org/wiki/Programmierkurs:_Delphi

schismatic1 24. Mai 2009 18:34

Re: Rapidshare Premium Login - Wie?
 
Danke - wieder etwas gelernt ^^ - Danke für die Crashkurse, werde sie mir mal zu gemüte führen.

Funken tut es dennoch noch nicht. Aber echt bemerkenswert wie umständlich und schwer die Sache mit dem SSL ist. WÜrde glatt behaupten sowas bekommt man nur auf die Reihe wenn man das gesehen hat oder von einem detailliert beschrieben bekommt.

Naja, morgen mal weiterschaun - aufgegeben werd ich jedenfalls nicht ;)

jaenicke 24. Mai 2009 18:36

Re: Rapidshare Premium Login - Wie?
 
Das war schon fast aller Quelltext, mehr ist das nicht. Das war 1:1 aus einem meiner Projekte kopiert. Danach kommt nur noch der Seitenabruf selbst mittels Get / Post. (Also vor dem finally)

Aber du musst halt verstehen was du da eigentlich machst, sonst kann das nix werden...

quendolineDD 24. Mai 2009 18:40

Re: Rapidshare Premium Login - Wie?
 
[OT]
Zitat:

Aber echt bemerkenswert wie umständlich und schwer die Sache mit dem SSL ist
Sei lieber zufrieden dass du die Komponente nutzt. Wenn du wüsstest was hinter den paar Quelltextzeilen noch steckt wirst du glaube ich nicht mehr glücklich.
[/OT]

Fridolin Walther 24. Mai 2009 20:19

Re: Rapidshare Premium Login - Wie?
 
Und wenn ihm jetzt noch wer sagt, daß es ihm nicht wirklich weiter hilft, weil er jetzt zwar eingeloggt ist, aber bei jedem weiteren Aufruf der Seite stets das richtige Cookie senden muss, damit er auch eingeloggt bleibt.

Ob ich evtl. erwähnen sollte, daß Rapidshare den Premium Download von Dateien via HTTP Auth erlaubt? Ach, ich glaub ich lass das lieber ... ;). Immerhin wäre ein ...

Delphi-Quellcode:
TIdHTTP.Request.BasicAuthentication := true;
TIdHTTP.Request.Username := 'rapidshareusername';
TIdHTTP.Request.Password := 'rapidsharepassword';
... ja auch einfach zu simpel :).


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Seite 4 von 5   « Erste     234 5      

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