files downloaden?

  • Hey,

    gibt es eine möglichkeit files herunterzuladen mit autoit? oder is das nicht möglich?
    wenn ja wie würde es denn gehen?

    2 Mal editiert, zuletzt von Wa33io3 (27. Dezember 2010 um 18:26)

  • Ich möchte auch mal wieder was schreiben, bin ja schon ganz eingerostet :)

    Spoiler anzeigen
    [autoit]

    #cs Beispiel FTP#ce
    #include ; wird benötigt
    $FTP_Targetfile = '/Marketing/Fachhaendler_Information.txt' ; Die Datei auf dem FTP Server, die du haben willst$FTP_Server = 'ftp.wortmann.de' ; FTP Server auf den du verbinden willst$FTP_User = 'anonymous' ; Benutzername auf dem FTP$FTP_Passwort = 'test@test.de' ; Passwort auf dem FTP
    ; Verbindung aufbauen$o_FTP = _FTP_Open("MyFTP")$s_FTP = _FTP_Connect($o_FTP,$FTP_Server,$FTP_User,$FTP_Passwort)
    ; Datei laden und speichern_FTP_FileGet($c_FTP,$_FTP_Targetfile,'test.txt')

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

    #cs Beispiel einfacher Dateidownload von URL#ce
    InetGet('http://dl.dropbox.com/u/167259/BlogDateien/wordpress_shortcode.txt','text2.txt'

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

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

  • Vielen Dank schon einmal für die antworten
    doch wie könnte ich dann file hier.txt downloaden
    und wie genau und wo schreibt man in dieses script denn die benutzerdaten?

  • Ich hatte auch mal dazu was geschrieben.

    Spoiler anzeigen
    [autoit]


    ;Coded by UEZ 2010
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiStatusBar.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Opt("GUIOnEventMode", 1)
    Opt("MustDeclareVars", 1)

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

    Global $hGUI = GUICreate("Downloader by UEZ 2010 Build 2010-12-27", 615, 267, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    Global $Input_URL = GUICtrlCreateInput("http://www.autoitscript.com/autoit3/files/beta/autoit/autoit-v3.3.5.6-sfx.exe", 64, 24, 497, 21)
    Global $Label1 = GUICtrlCreateLabel("URL:", 32, 26, 29, 17)
    Global $Start_DL = GUICtrlCreateButton("Download", 64, 128, 75, 25)
    GUICtrlSetOnEvent(-1, "Start_DL")
    Global $Stop_DL = GUICtrlCreateButton("Cancel", 488, 128, 75, 25)
    GUICtrlSetOnEvent(-1, "Stop_DL")
    GUICtrlSetState(-1, $GUI_DISABLE)
    Global $Progress = GUICtrlCreateProgress(8, 192, 598, 17)
    Global $StatusBar = _GUICtrlStatusBar_Create($hGUI)
    _GUICtrlStatusBar_SetText($StatusBar, "Ready")
    Global $Input_Save_To = GUICtrlCreateInput(@ScriptDir, 64, 80, 497, 21)
    Global $Label2 = GUICtrlCreateLabel("Save to:", 16, 84, 44, 17)
    GUISetState(@SW_SHOW)

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

    Global $hDownload, $nBytes, $nRead, $nSize, $calc, $file, $url, $current
    Global $speed = 0
    Global $prog = 0
    Global $stop = 0

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

    While Sleep(1000000000)
    WEnd

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

    Func Start_DL()
    $url = GUICtrlRead($Input_URL)
    $file = GUICtrlRead($Input_Save_To)
    If $url <> "" And $file <> "" Then
    GUICtrlSetState($Start_DL, $GUI_DISABLE)
    GUICtrlSetState($Stop_DL, $GUI_ENABLE)
    $file &= "\" & StringRight($url, StringLen($url) - StringInStr($url, "/", 0, -1))
    $nSize = InetGetSize($url)
    $hDownload = InetGet($url, $file, 1, 1)
    AdlibRegister("DL_Check", 50)
    $current = 0
    AdlibRegister("DL_Speed", 1000)
    EndIf
    EndFunc

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

    Func DL_Check()
    If InetGetInfo($hDownload, 2) Or $stop Then
    InetClose($hDownload)
    GUICtrlSetState($Start_DL, $GUI_ENABLE)
    GUICtrlSetState($Stop_DL, $GUI_DISABLE)
    GUICtrlSetData($Progress, 0)
    _GUICtrlStatusBar_SetText($StatusBar, "Ready")
    $stop = 0
    AdlibUnRegister("DL_Check")
    AdlibUnRegister("DL_Speed")
    Else
    $nRead = InetGetInfo($hDownload, 0)
    $calc = Int(100 * $nRead / $nSize)
    GUICtrlSetData($Progress, $calc)
    _GUICtrlStatusBar_SetText($StatusBar, $nRead & " / " & $nSize & " bytes (" & $calc & " % @ " & $speed & " kb/s)")
    EndIf
    EndFunc

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

    Func DL_Speed()
    $speed = Round(($nRead - $current) / 1024, 2)
    $current = $nRead
    EndFunc

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

    Func Stop_DL()
    $stop = 1
    EndFunc

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

    Func _Exit()
    InetClose($hDownload)
    GUIDelete($hGUI)
    Exit
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (27. Dezember 2010 um 15:39)

  • Du könntest einfach den URL Link durch ein FTP Link ersetzen.

    Falls du Benutzernamen und Passwort eingeben musst, kannst du ja als Workaround folgende Syntax nehmen:

    ftp: //user:password@ftp-site

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Oder so:

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    $server = 'ftp.csx.cam.ac.uk'
    $username = ''
    $pass = ''
    $FTPFile = "/README"
    $DLFile =@ScriptDir & "\ReadMeTest.txt"

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

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    if _FTP_FileGet($Conn,$FTPFile,$DLFile) Then
    MsgBox(0,"Donload","erfolgreich")
    Else
    MsgBox(0,"Donload","fehlgeschlagen")
    EndIf
    $Ftpc = _FTP_Close($Open)

    [/autoit]

    mfg autoBert

  • also ich hab das dann mal so geschrieben:

    Spoiler anzeigen
    [autoit]


    #include <FTPEx.au3>

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

    $server = 'Server'
    $username = 'Name'
    $pass = 'Passwort'
    $FTPFile = "/Datei"
    $DLFile =@ScriptDir & "\Datei"

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

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    _FTP_FilePut($Conn,$FTPFile,$DLFile)
    $Ftpc = _FTP_Close($Open)

    [/autoit]

    doch des funktioniert nicht. was mache ich falsch?