Datei von Prem Account bei Rapidshare downloaden

  • Hi Leute, bin ziemlich neu beim Thema Autoit... ein paar kleinigkeiten kann ich schon, hält sich
    aber in Grenzen.

    Nutze Autoit immer um mir wiederkehrende Arbeiten zu erleichtern, und darum geht es auch jetzt wieder.

    Ich hab einen Premium Account bei Rapidshare, und hab dort einige Dateien hochgeladen.
    Da ich einige davon öffter brauche (auch unterwegs) wollt ich mir ein kleines Skript schreiben, das mir immer diese Datei per doppelklick auf den Desktop (bzw. in einen Ordner) speicher (Die datei hat immer den gleichen Namen, wird aber von einem Kollegen immer aktuell gehalten)

    eine normale datei downloaden hab ich mit autoit schon hinbekommen, leider funktioniert das bei RS nicht, da ma da ja irgendwie den Freeuser auswählen kann, bzw. muss. dann die wartezeit abwarten und dann erst den link drücken kann.
    Hab aber schon tools gesehen, die das können. Leider kommen mir die nicht sehr legal vor, deswegen wollt ich mir sowas selber schreiben. Wie gesagt, ich will hier nur eine Datei die auf meinem Prem Account liegt, per Doppelklick auf meinen Rechner laden. Und das Automatisiert. Mehr nicht.

    Wie is das realisierbar ???

    Gruß Brick

    P.S. schön währs noch, wenn das ohne lästige sichtbare Fenster vonstatten gehen würde. Also nichts wie mouseclick (100,120) oder dergleichen... :D

    2 Mal editiert, zuletzt von Brick (30. Juli 2008 um 17:28)

  • Hi,
    das ist kein Prob, nen Beispiel kenne ich von PHP. Mit nen bischen suchen bekommst du da Beispiele. Ansonst ist das nur ein GUI und eine Inputbox für Username und Passwort.

    MfG
    Der_Doc

  • Hi,
    das ist kein Prob, nen Beispiel kenne ich von PHP. Mit nen bischen suchen bekommst du da Beispiele. Ansonst ist das nur ein GUI und eine Inputbox für Username und Passwort.

    MfG
    Der_Doc

    Hi Doc.. also mit PHP kenn ich mich jetzt auch nicht so mächtig aus.. hab mal "Hello World" geschrieben... das wars aber auch schon... und Username und Passwort brauch ich auch nicht unbedingt, da ich das ruhig auch als Freeuser laden lassen kann, (die datei ist nicht besonders groß, womit sich wartezeiten und downloadzeiten eh begrenzt halten)

    Wie gesagt, ich bräuchte mal einen Ansatz, wie ich auf die datei zugreifen kann. (Das passende GUI, sollte ich mich entschließen eins zu schreiben bekomm ich hin)

    Aber trotzdem danke für die schnelle antwort.

    Gruß Brick

  • So.. bin jetzt schon soweit, das er mir die Rapidshareseite aufmacht (invisible) und dort den richtigen link öffnet.. dann hab ich mir den Quelltext angeschaut, von der Seite.

    da steht dann:

    Code
    form id="ff" action="http://rs50.rapidshare.com/files/132601699/16---geht euch nix an.pdf" method="post">
                            <input type=hidden name="dl.start" value="Free"

    unter Value steht hier Free, welches offensichtlich die Methode ist, (Free oder Premium) der link scheint aber immer der gleiche zu sein. Wie kann ich sowas jetzt übergeben, das er mir den
    Free bzw. Premium Link auswählt.

    Gruß Brick

  • Schau dir mal in deinem Prem Account die Einstellung "Direkt-Download" an. Vielleicht hilft dir das weiter.

    Damit habe ich auch mal ein Rapidshare-Downloader gebastelt.

  • Zitat von Rapidshare News

    Katzenfreie Zone: Wegfall der Captchas – mehr Flexibilität für Premium-Kunden
    02. Juli 2008

    Mit dem Wegfall der Captchas haben wir die kostenlose Nutzung von RapidShare deutlich vereinfacht. Ausserdem können Free-User jetzt grössere Dateien herauf- und herunterladen (bis zu 200 Megabyte). Um RapidShare dennoch vor Überlastung durch automatisierte Downloads schützen zu können, wurde die Geschwindigkeit für Free-User auf 500 Kilobit pro Sekunde begrenzt. Als Ausgleich dafür entfällt die Wartezeit vor einem Folge-Download.

    Auch die Premium-Kunden profitieren von Neuerungen: Das maximale Downloadvolumen von 10 Gigabyte pro Tag wurde flexibler gestaltet. Das nicht genutzte Volumen eines Tages wird automatisch auf den nächsten Tag übertragen, so dass sich maximal 50 Gigabyte ansammeln lassen. Wer innerhalb eines Tages das Volumen komplett ausschöpft, kann am nächsten Tag wieder 10 Gigabyte herunterladen.

    Geht also schon. Ich würde auch Direktdownloads aktivieren, ich glaube du bekommst dann immer den gleichen Link zu einer Datei.

    EDIT: Brick war wohl schneller :P;)


  • *räusper* ... weiß zufällig jemand ob ich dann noch die Punkte sammeln kann, wenn "Direktdownload" aktiviert ist, da mein Account zum Teil auch davon lebt.. :D

    Is zwar jetzt etwas offtopik... aber offensichtlich scheint es ja keine andere Lösung zu geben, oder ???

  • Die Direktdownload-Option ist afaik nur für den PremiumUser selber einstellbar. Die anderen User müssen dann schon noch auswählen, von welchem Server, ob Free/Premium (außer irgendein PremiumUser hat auch Direktdownload). Aber generell sollte sich an den Punkten nichts ändern.

    (Sry für OT)

  • Ha... hab grad des mit der einstellung getestet... funktioniert bedingt..
    wenn ich des aktiviere, und schon mal bei Rapidshare mich eingelogged hab, kann ich die
    datei direkt Downloaden.
    Wenn ich aber z.b. einen anderen Browser verwende, oder beim IE die Cookies lösch,
    kommt wieder das Free- Premium Auswahlfenster...
    Somit funktionierts damit nur bedingt...

    Also nochmal von vorn... der Ansatz sollte irgendwie dahingehend sein, daß ich auf ne Seite
    zugreifen kann, und dort nen Link drücke, die offensichtlich ein Steuerelement mit dem Namen "dl.start" hat und den value "free" bzw. "Premium" übergibt. Das müsste ich simulieren. Die Wartezeit die darauf folgt, könnt ich mit einem einfachen "Sleep" gefehl erledigen...

    Code
    <td width="300" style="text-align:center;"> 
    <form action="http://rs50.rapidshare.com/files/132601699/16---geht euch nix an.pdf" method="post"> 
    <input type=hidden name="dl.start" value="PREMIUM" /> 
    <img src="/img2/dl_schnell.gif" /> 
    <br /> 
    <input type="submit" value="Premium-User" />

    Für weitere Hilfe immer empfangsbereit..

    Gruß Brick

  • Ich habs!! :rock:

    Wenn du den genauen Download-Link hast (z.b. rs50.rapidshare.com.....) kannst du die Adresse wie folgt verändern:

    http://rs62.rapidshare.com/files/71226620/dl/irgendwas.rar?l=2314564&p=CKJRHd3kXf

    Entscheidend sind die markierten stellen.

    Damit ist auch die Option "Direkt-Download" hinfällig.

    Würde mich freuen von dir positives Feedback zu bekommen.

  • Allerdings, so ist das ganze eine gute lösung... gedanken würd ich mir machen ob ich meine U/P daten unverschlüsselt schicke....

  • Allerdings, so ist das ganze eine gute lösung... gedanken würd ich mir machen ob ich meine U/P daten unverschlüsselt schicke....

    *räusper* ... seh ich des richtig mit U/P Daten sind Username und Password gemeint... sorry.. aber dazu hab ich wirklich keine lust.. :D
    Wie schon erwähnt... muss nicht direkt über meinen Premacc. laufen... gern auch über den Free user... die wartezeit is annähernd null, da die datei nicht sehr groß ist.
    Gibt es keine Möglichkeit mit Autoit einem Link einen "Value" anzuhängen. (Da ja offensichtlich die Links für Prem und Free die gleichen sind.) ???

    Trotzdem Danke für den Tip ... (werd in mal heimlich ausprobieren... :D )

    Gruß Brick

  • Moin, habe das hier gestern gelesen und mich mal dran gesetzt und mir ein Multidownloader gebastelt für den Free-Account. Den habe ich mal etwas gändert und auf eine Datei umgebastelt.

    Spoiler anzeigen
    [autoit]


    ;Includes
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Variablen
    Global $objIE, $destFolder,$dlLink,$fileName,$Url

    [/autoit] [autoit][/autoit] [autoit]

    ;Zielordner wählen
    $destFolder = 'c:\tmp\testdatei.txt'

    [/autoit] [autoit][/autoit] [autoit]

    ;RapidShare Link
    $dlLink = 'http://rapidshare.com/files/133499342/testdatei.txt.html'

    ;IE einbinden
    $objIE = _IECreate($dlLink,0,1,1,1) ; wenn der IE nicht angezeigt werden soll: _IECreate($dlLink,0,0,1,1)

    [/autoit] [autoit][/autoit] [autoit]

    ;IE Fehler deaktivieren
    _IEErrorNotify (False)

    [/autoit] [autoit][/autoit] [autoit]

    ;Die Form für den Free-Download raussuchen
    $oForms = _IEFormGetCollection ($objIE)
    For $oForm In $oForms
    if $oForm.id = 'ff' Then ExitLoop
    Next
    $oForm.submit

    ;Warten bis der Counter runter gelaufen ist
    Do
    $oForm = _IEGetObjByName($objIE,"dlf")
    Sleep(250)
    Until IsObj($oForm)

    ;Den direkten Link zur Datei auslesen
    $dlLink = $oForm.action

    [/autoit] [autoit][/autoit] [autoit]

    ;Datei runter laden
    InetGet($dlLink,$destFolder,1)

    [/autoit] [autoit][/autoit] [autoit]

    ;IE beenden
    _IEQuit($objIE)

    [/autoit]

    So musst du nur den Pfad und die Datei angeben, der Unterschied bei dem Link und dem direkten Downloadlink sieht so aus:
    Normaler Link:
    http://rapidshare.com/files/133499342/testdatei.txt.html
    Direkter Link (in diesem Fall von dem Telekom Mirror):
    http://rs277dt.rapidshare.com/files/133499342/2893865/testdatei.txt

    Die hintere Zahl (2893865) ändert sich bei jedem Aufruf.

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Saustark... genau so hab ichs mir vorgestellt.. danke... :thumbup:

    jetzt bitte noch schnell ne erklärung... damit ich das das nächste mal allein hinbekomm... :D

    also... (bitte korrigieren, falls falsch *gg)

    Code
    ;Die Form für den Free-Download raussuchen
    $oForms = _IEFormGetCollection ($objIE)
    For $oForm In $oForms
       if $oForm.id = 'ff' Then ExitLoop
    Next
    $oForm.submit


    Hier legt Autoit offensichtlich irgend einen "Collection" an... die so oft durchlaufen wird, bis die
    ID "ff" ist.. .wieso "ff" ???
    danach sendet er offensichtlich die ID... dachte die währe "Free" bzw. "Premium" ???

    Code
    ;Warten bis der Counter runter gelaufen ist
    Do
        $oForm = _IEGetObjByName($objIE,"dlf")
        Sleep(250)
    Until  IsObj($oForm)


    Hier sucht er ein Obj. Name ??? .. das "dlf heißt ??? (downloadfile ??)
    woher bekomm ich diese Info ???


    Code
    ;Den direkten Link zur Datei auslesen
    $dlLink = $oForm.action 
    
    
    ;Datei runter laden
    InetGet($dlLink,$destFolder,1)

    Dann den Direkten Link auslesen... hmm.. ok..und
    der rest klingt plausibel.. datei halt runterladen...

    Jedenfalls vielen dank für die Hilfe...

    Gruß Brick

  • Hier legt Autoit offensichtlich irgend einen "Collection" an... die so oft durchlaufen wird, bis die
    ID "ff" ist.. .wieso "ff" ???
    danach sendet er offensichtlich die ID... dachte die währe "Free" bzw. "Premium" ???

    Im Seitenquelltext gibt es zwei Formulare, das erste für die FreeUser und das andere für die PremiumUser, beim ersten Form gibt es ein ID Tag und das heißt "ff", beim zweiten gibt es kein ID Feld.

    Hier sucht er ein Obj. Name ??? .. das "dlf heißt ??? (downloadfile ??)
    woher bekomm ich diese Info ???

    Hier habe ich einfach mal gewartet bis der Counter abgelaufen war und habe mir dann wieder den Quelltext angeschaut, da gibt es wieder ein Form welches den Namen dlf hat, das Form ist aber erst da wenn der Counter abgelaufen ist.

    Dann den Direkten Link auslesen... hmm.. ok..und
    der rest klingt plausibel.. datei halt runterladen...

    Wenn dann das Form da ist, dann kann man aus dem Action Tag die direkte Downloadadresse auslesen und benutzen.

    Hoffe das ich das einigermaßen gut erklärt hab :)

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Jep... Passt schon.. werd mir des nochmal genauer anschaun wenn ich zeit hab.. aber
    alles in allem passts...

    Wie gesagt... Danke nochmal... das war genau das was ich gesucht hab.

    Gruß Brick