Download einer Datei ohne Internet Explorer.

  • Guten Tag AutoIt.de,

    Ich melde mich mal wieder mit einem Problem.

    Ich schreibe für mich Zuhause ein Updatetool das ein bisschen so funktioniert wie Dropbox.
    Es soll eine Handvoll Dateien immer Aktuell halten.

    Nun habe ich aber ein kleines Problem ich benutze auf meinen PC's keinen Internet Explorer (nicht so der Fan von ;) ).
    Das heisst ich habe keine möglichkeit den "InetGet" Befehl zu benutzen.
    Klar könnte ich auch einfach den Internet Explorer wieder installieren doch habe ich eher wenig lust dazu und es wäre mir
    lieber wenn es unabhänig laufen würde. ;) Ich habe schon versucht über "Wget.exe" (kleines Downloadtool) zu Downloaden
    auch wenn das nicht ganz unabhänig ist :D . Nur öffnet sich beim Downloaden ein cmd Fenter das es für den Gebrauch im
    hintergrund unbrauchbar macht :( ...

    Gibt es eine möglichkeit das zu umgehen den Internetexplorer zu nutzen ausser per FTP drauf zu zugreiffen?

    Gruß Raumen837 / Patrick

  • Hi,

    was meinst du mit "unbrauchbar"?

    Du kannst doch alle Fenster/GUI's minimieren bzw verstecken oder nicht?

    Soweit ich weiss, dürfte das auch mit nicht-selbst erstellten Fenstern klappen.

    €dit:

    Hier am Beispiel von "cmd":

    [autoit]

    dim $win = "C:\Windows\"
    WinActivate($win)
    sleep(1000)
    WinSetState($win,"",@SW_MINIMIZE)

    [/autoit]

    @SW_HIDE - versteckt das Fenster

    Gruß
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Falls du Firefox benutzt, kann ich dir die FF.au3 nur wärmstens empfehlen: autoit.de/index.php?page=Thread&threadID=15415 :D

    Dort findest du eine Anleitung + Download.

    Mfg

    (Bin mir nicht ganz sicher ob es eine Download-Funktion gibt, denke aber schon.)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • geht das nicht mit TCP/UDP ?
    so macht es zumindestens der IE soweit ich weis.

    Sind TV-Quizfragen zu einfach? A) Ja B) Harry Potter

    Spoiler anzeigen

    Ich gebe zu dieser Post hat wahrscheinlich nicht viel geholfen,
    aber ich versuche wenigstens zu helfen :rolleyes:

  • Wie bereits gesagt: Du kannst per Run oder ShellExecute aufgerufene Programme per @SW_HIDE versteckt aufrufen.

    Ansonsten gibt es zig Möglichkeiten - hier eine:

    Spoiler anzeigen
    [autoit]

    Global Const $s_URL = "http://translation.autoit.de/autoitinfo/hilfedateien/AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-27_05_11.zip"
    Global Const $s_Ziel = @DesktopDir & "\AutoItHilfe.zip"

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

    Global $o_HTTP = ObjCreate('winhttp.winhttprequest.5.1')
    $o_HTTP.Open('GET', $s_URL)
    $o_HTTP.Send('')

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

    Global $bin_FileContent = $o_HTTP.ResponseBody

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

    Global $h_File = FileOpen($s_Ziel, 2+16)
    FileWrite($h_File, $bin_FileContent)
    FileClose($h_File)

    [/autoit]

    Edit: Hm könnte sein das das Objekt ebenfalls vom IE abhängt.
    Per TCP-Aufrufen wäre machbar aber sehr umständlich.

  • Nimm _INetGetSource aber setz vorher noch ein HttpSetProxy(0) so kannst du das auch übern Proxy nutzen. Nehme das auch für meine Update funktion. Sollte das nicht gehen dann musste eventuell noch den HttpSetUserAgent festlegen. Gibt webserver die verweigern den Download wenn der User Agent nicht bekannt ist.

    Gruß DevFly

  • Jetzt stellt sich aber die frage ob es nicht doch funktioniert. Weil Kern teile an sich immer auf den Windows liegen da man den IE nicht komplett weg bekommt. Ich würd es testen wenn es nicht geht dann haste ja noch die anderen möglichkeiten die hier angeboten werden.

    Gruß DevFly

  • Guten Tag,

    Entschuldigung das ich erst jetzt schreibe (Arbeitsstress)

    Also klar kann ich die cmd Hiden Problem ist aber das wenn ich eine Vollbildanwendung offen habe (bsp. Computerspiel)
    so wird das Programm heruntergeklickt. Für mich als "kleiner" Zocker ist das verdammt ärgerlich vorallem wenn man online spielt
    und in einer schlechten Situation ist.

    Bezüglich ob es auch ohne Internet Explorer geht ... hmmm also er gibt mir keinen error aus aber speichert die Datei auch nicht :huh:

    @AspirinJunkie: sieht sehr intressant aus werde ich gleich mal testen :)

    edit: mit der FF.au3 wäre eine gute möglichkeit nur will ich es mit möglichst wenig UDF's versuchen damit der script so schnell wie möglich bleibt :D

  • Also klar kann ich die cmd Hiden Problem ist aber das wenn ich eine Vollbildanwendung offen habe (bsp. Computerspiel)
    so wird das Programm heruntergeklickt. Für mich als "kleiner" Zocker ist das verdammt ärgerlich vorallem wenn man online spielt
    und in einer schlechten Situation ist.


    Du meinst das Fenster erscheint kurz?
    Dann hast du es so gemacht wie von x0r vorgeschlagen anstatt gleich direkt beim Aufruf per Run oder ShellExecute zu sagen, dass das Programm nicht sichtbar sein soll.
    Siehe AutoIt-Hilfe zu den beiden Befehlen.

    Zu meinem Vorschlag mit winhttprequest: Wird wahrscheinlich auch vom IE abhängen.

  • ok werde ich mal beides testen :D

    leider bin ich garde auf der Arbeit aber das mit dem @SW_HIDE habe ich schon versucht und es
    klappt wenn ich es vorher schon einstelle. Also ein Danke schon mal :D . 2. kommt wenn das andere funktioniert.

  • Also ich habe jetzt alle methode getestet.

    Alle habe funktioniert :) ich habe mich für die mehtode mit wget.exe entschieden :) da sie am wenigsten ram nimmt und bei mir auch schneller runterläd als die anderen Programme :)

    Danke :)