FTPEx funktionier NICHT in Windows XP

  • Hi,

    habe die neueste A'utoIt Version und Windos XP mit allen Updates. Ich habe hier ein einfaches FTP script das supper auf Windows 7 funktioniertt aber NICHT auf Windows XP:

    [autoit]

    #Include <FTPEx.au3>

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

    ; login
    $server = 'ftp.xxxxxxxxxxxxxx.org'
    $i_Passive = '1'
    $port = '21'
    $username = 'xxxxxxxx'
    $pass = 'xxxxxxx'

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

    ; Customization
    $Programs = @ProgramFilesDir
    $Path = @DesktopDir & "\Proxy Stuff\_Database\"
    $UploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\"
    $PromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\promo\"

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

    ;$temppublicdir = "internal"
    $publicdir = "public_html/internal/database/"
    $paiddir = "public_html/home/static/paid/"
    $promodir = "public_html/home/static/promo/"
    $alldir = "public_html/home/static/"

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

    $Open = _FTP_Open('FTP')
    $Conn = _FTP_Connect($Open, $server, $username, $pass,$i_Passive,$port)
    Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $paiddir,1)
    Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $publicdir,1)
    Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $alldir,1)
    Sleep(5000)
    _FTP_DirPutContents($Conn, $PromoUploadPath, $promodir,1)
    Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $paiddir,1)
    _FTP_Close($Open)

    [/autoit]


    Habe Firewall in Windows XP OFFEN. Das ist nicht das Problem. Liegts daran dass Windows 7 eine andere Version der winininet.dll hat?


    Ich zahle 20 EUR sofort für Hilfe (per PayPal)

    Bin verzweifelt! ?(

    "Thinking in binary"

  • Hallo R4z0r,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage: die Funktion

    [autoit]

    _FTP_DirPutContents

    [/autoit]

    kann nur funktionieren wenn die Pfade richtig sind. Du kannst alternativ auch das Skript im Spoiler von Deutsche Hilfe - Funktionen ohne Beispiel benutzen.

    mfg autoBert

  • i.d.R. sind die Scripte eher BS-abwärtskompatibel als andersrum.
    D.h. es sollte also kein Problem mit einem Script unter Win XP geben, dass unter win 7 läuft.

    Daher würde ich erstmal alles um das Script herum überprüfen...
    Sind die Dateien auch unter Win XP in dem angegebenen Ordner?

    Rückgabewerte von Deinen Funktionsaufrufen kannst Du auch noch prüfen.
    z.B. MsgBox(0,'',_FTP_DirPutContents($Conn, $UploadPath, $paiddir,1))

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Lass dieses Skript laufen und berichte danach über eventuelle Fehlermeldungen:

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>

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

    ; login
    $server = 'ftp.xxxxxxxxxxxxxx.org'
    $i_Passive = '1'
    $port = '21'
    $username = 'xxxxxxxx'
    $pass = 'xxxxxxx'

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

    ; Customization
    $Programs = @ProgramFilesDir
    $Path = @DesktopDir & "\Proxy Stuff\_Database\"
    $UploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\"
    $PromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\promo\"

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

    ;$temppublicdir = "internal"
    $publicdir = "/public_html/internal/database/"
    $paiddir = "/public_html/home/static/paid/"
    $promodir = "/public_html/home/static/promo/"
    $alldir = "/public_html/home/static/"

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

    If Not FileExists($UploadPath) Then MsgBox(0, "Uploadpath", "Falsch")
    If Not FileExists($PromoUploadPath) Then MsgBox(0, "Prompath", "Falsch")
    $Open = _FTP_Open('FTP')
    If Not @error Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass, $i_Passive, $port)
    If Not @error Then
    _FTP_DirCreate($paiddir)
    _FTP_DirCreate($publicdir)
    _FTP_DirCreate($alldir)
    _FTP_DirCreate($promodir)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $paiddir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $publicdir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $alldir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $PromoUploadPath, $promodir, 1)
    ;Sleep(5000)
    Else
    MsgBox(0, "Connect", "fehlgeschlagen")
    EndIf
    Else
    MsgBox(0, "Open", "fehlgeschlagen")
    EndIf
    _FTP_Close($Open)

    [/autoit]

    Edit: Da ich Win XP SP3 benutze weis ich dass die _FTP-Funktionen damit funktionieren
    mfg autoBert

  • Danke für das Script mit @error.
    Musste noch was modifizieren dass es läuft:


    _FTP_DirPutContents($Conn, $UploadPath, $paiddir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $publicdir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $alldir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $PromoUploadPath, $promodir, 1)

    Ich bekomme connect failed. Server ist ok. Username und Passwort auch. Firewall ist ausgeschalten. Unter Windows 7 - kein Problem es funzt. Was jetzt?


    Aktiver oder Passiver FTP Modus: gleiches Resultat :(

    "Thinking in binary"

  • Funktioniert es mit FileZilla auf dem XP-System? Wenn nein, was ich stark vermute müsstest du dein XP neuaufsetzen, wenn ja weiss ich leider auch nicht weiter.
    Du musst die Windows-Firewall übrigens nicht ausschalten, es genügt wenn du für entsprechende Aussnahmen definierst:

    autoit.de/wcf/attachment/13020/autoit.de/wcf/attachment/13021/

    Edit: XP läuft bei dir aber auf einer real existierenden Maschine?

    mfg autoBert

  • Ich habe die Lösung!!! Auf meinem Window 7 nutze ich einen anderen Internet Service Provider (Kabel Deutschland) als auf meiner Windows XP Maschine (Arcor). Ich switche nun auf meinem Windows XP die Adpater um auf den funktionierenden ISP (Kabel Deutschland) zu gehen). Ist aber nicht die Lösung die ich benötige. :(


    1. Wie kann dass das Problem sein? Hat jemand eine Idee? Bei einem ISP funktioniertes, beim anderen nicht. Muss ich am Router irgendwas checken? Werde auch mal mein hosts file checken...
    2. Wie Ihr im Script sehen könnt habe ich nun auch _FTP_FilePut "reingebaut", das geht aber nicht. Was mache ich falsch??

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_UseX64=n#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****#include
    ; login$server = 'ftp.******.org'$i_Passive = '1'$port = '21'$username = '*****'$pass = '*****'
    ; Customization DirPut$Programs = @ProgramFilesDir$Path = @DesktopDir & "\Proxy Stuff\_Database\"$UploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\"$PromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\promo\"$ExternalPromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\externalpromo\"$ForumPromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\forumpromo\"; Customization FilePut$SocksSP = "Scrapebox_Socks.txt"$SocksIP = "Socks_Proxy_IP_Only.txt"$HTTPTRANSIP = "HTTP_Transparent_Proxy_IP_Only.txt"$HTTPANONIP = "HTTP_Anonymous_Proxy_IP_Only.txt"$HTTPELITEIP = "HTTP_Elite_Proxy_IP_Only.txt"
    ;$temppublicdir = "internal"$URLUploadPathSocks = "/public_html/proxy-customer/socks/"$URLUploadPathHTTP = "/public_html/proxy-customer/http/"$publicdir = "/public_html/internal/database/"$paiddir = "/public_html/home/static/paid/"$promodir = "/public_html/home/static/promo/"$externalpromodir = "/public_html/home/static/externalpromo/"$forumpromodir = "/public_html/home/static/forumpromo/"
    If Not FileExists($Path) Then MsgBox(0, "Path", "Falsch")If Not FileExists($UploadPath) Then MsgBox(0, "Uploadpath", "Falsch")If Not FileExists($PromoUploadPath) Then MsgBox(0, "PromoUploadPath", "Falsch")If Not FileExists($ExternalPromoUploadPath) Then MsgBox(0, "ExternalPromoUploadPath", "Falsch")If Not FileExists($ForumPromoUploadPath) Then MsgBox(0, "ForumPromoUploadPath", "Falsch")
    $Open = _FTP_Open('FTP')If Not @error Then $Conn = _FTP_Connect($Open, $server, $username, $pass, $i_Passive, $port) If Not @error Then _FTP_DirCreate($Conn,$paiddir) _FTP_DirCreate($Conn,$publicdir) _FTP_DirDelete($Conn,$promodir) Sleep(5000) _FTP_DirCreate($Conn,$promodir) _FTP_DirCreate($Conn,$externalpromodir) _FTP_DirCreate($Conn,$forumpromodir) ;Sleep(5000) _FTP_DirPutContents($Conn, $UploadPath, $paiddir, 1) ;Sleep(5000) _FTP_DirPutContents($Conn, $UploadPath, $publicdir, 1) ;Sleep(5000) _FTP_DirPutContents($Conn, $PromoUploadPath, $promodir, 1) ;Sleep(5000) _FTP_DirPutContents($Conn, $ExternalPromoUploadPath, $externalpromodir, 1) ;Sleep(5000) _FTP_DirPutContents($Conn, $ForumPromoUploadPath, $forumpromodir, 1) ;Sleep(5000) _FTP_FilePut($Conn, $UploadPath, $URLUploadPathSocks&$SocksIP, 1) ;Sleep(5000) _FTP_FilePut($Conn, $UploadPath, $URLUploadPathSocks&$SocksSP, 1) ;Sleep(5000) _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPTRANSIP, 1) ;Sleep(5000) _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPANONIP, 1) ;Sleep(5000) _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPELITEIP, 1) ;Sleep(5000) Else MsgBox(0, "Connect", "fehlgeschlagen") EndIfElse MsgBox(0, "Open", "fehlgeschlagen")EndIf_FTP_Close($Open)

    [/autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include

    ; login
    $server = 'ftp.******.org'
    $i_Passive = '1'
    $port = '21'
    $username = '*****'
    $pass = '*****'

    ; Customization DirPut
    $Programs = @ProgramFilesDir
    $Path = @DesktopDir & "\Proxy Stuff\_Database\"
    $UploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\"
    $PromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\promo\"
    $ExternalPromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\externalpromo\"
    $ForumPromoUploadPath = @DesktopDir & "\Proxy Stuff\_Database\Upload\forumpromo\"
    ; Customization FilePut
    $SocksSP = "Scrapebox_Socks.txt"
    $SocksIP = "Socks_Proxy_IP_Only.txt"
    $HTTPTRANSIP = "HTTP_Transparent_Proxy_IP_Only.txt"
    $HTTPANONIP = "HTTP_Anonymous_Proxy_IP_Only.txt"
    $HTTPELITEIP = "HTTP_Elite_Proxy_IP_Only.txt"

    ;$temppublicdir = "internal"
    $URLUploadPathSocks = "/public_html/proxy-customer/socks/"
    $URLUploadPathHTTP = "/public_html/proxy-customer/http/"
    $publicdir = "/public_html/internal/database/"
    $paiddir = "/public_html/home/static/paid/"
    $promodir = "/public_html/home/static/promo/"
    $externalpromodir = "/public_html/home/static/externalpromo/"
    $forumpromodir = "/public_html/home/static/forumpromo/"

    If Not FileExists($Path) Then MsgBox(0, "Path", "Falsch")
    If Not FileExists($UploadPath) Then MsgBox(0, "Uploadpath", "Falsch")
    If Not FileExists($PromoUploadPath) Then MsgBox(0, "PromoUploadPath", "Falsch")
    If Not FileExists($ExternalPromoUploadPath) Then MsgBox(0, "ExternalPromoUploadPath", "Falsch")
    If Not FileExists($ForumPromoUploadPath) Then MsgBox(0, "ForumPromoUploadPath", "Falsch")

    $Open = _FTP_Open('FTP')
    If Not @error Then
    $Conn = _FTP_Connect($Open, $server, $username, $pass, $i_Passive, $port)
    If Not @error Then
    _FTP_DirCreate($Conn,$paiddir)
    _FTP_DirCreate($Conn,$publicdir)
    _FTP_DirDelete($Conn,$promodir)
    Sleep(5000)
    _FTP_DirCreate($Conn,$promodir)
    _FTP_DirCreate($Conn,$externalpromodir)
    _FTP_DirCreate($Conn,$forumpromodir)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $paiddir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $UploadPath, $publicdir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $PromoUploadPath, $promodir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $ExternalPromoUploadPath, $externalpromodir, 1)
    ;Sleep(5000)
    _FTP_DirPutContents($Conn, $ForumPromoUploadPath, $forumpromodir, 1)
    ;Sleep(5000)
    _FTP_FilePut($Conn, $UploadPath, $URLUploadPathSocks&$SocksIP, 1)
    ;Sleep(5000)
    _FTP_FilePut($Conn, $UploadPath, $URLUploadPathSocks&$SocksSP, 1)
    ;Sleep(5000)
    _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPTRANSIP, 1)
    ;Sleep(5000)
    _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPANONIP, 1)
    ;Sleep(5000)
    _FTP_FilePut($Conn, $UploadPath, $URLUploadPathHTTP&$HTTPELITEIP, 1)
    ;Sleep(5000)
    Else
    MsgBox(0, "Connect", "fehlgeschlagen")
    EndIf
    Else
    MsgBox(0, "Open", "fehlgeschlagen")
    EndIf
    _FTP_Close($Open)

    Vielen Dank für die nette Unterstützung!!! 8)
    Teamwork rules!

    "Thinking in binary"

  • Danke Autobert, fuinktioniert jetzt!

    Hat jemand eine Antwort zu ersten Frage:
    1. Wie kann dass das Problem sein? Hat jemand eine Idee? Bei einem ISP funktioniertes, beim anderen nicht. Muss ich am Router irgendwas checken? Werde auch mal mein hosts file checken...



    ?(

    "Thinking in binary"

  • Wie kann ich mehrere Files per FTP in einem Verzeichnis löschen:

    1. Unabhängig von der Endung
    2. Abhängig von der Endung, z.B. .html

    ?

    "Thinking in binary"

  • Danke Autobert, fuinktioniert jetzt!

    Hat jemand eine Antwort zu ersten Frage:
    1. Wie kann dass das Problem sein? Hat jemand eine Idee? Bei einem ISP funktioniertes, beim anderen nicht. Muss ich am Router irgendwas checken? Werde auch mal mein hosts file checken...



    ?(

    Ich würde erstmal verifizieren ob wirklich der ISP Schuld ist.
    Hast du versucht über einen anderen Client wie Filezilla eine Verbindung zum Server über die Arcor Leitung herzustellen? Wenn das da auch nicht geht liegt vielleicht ein IP Ban auf dem Server vor.

    Wenn du mit anderen Clienten auch mit der Arcor Leitung eine Verbindung herstellen kannst, dann hätte ich noch eine Idee woran es liegen könnte. Du verwendest ja den Passivmodus oder beabsichtigst das zumindestens. Jedoch fällt mir in deinem Script auf, dass du den Parameter dafür als String übergibst. Dies könnte dadurch evtl. als 0 interpretiert werden ( https://autoit.de/index.php?page=Thread&amp;threadID=26134 ) und somit nutzt du dann evtl. ungewollt den aktiv Modus. Entferne also zum Testen mal die Anführungszeichen und übergib den Parameter dadurch als Int.

    EDIT: Gilt auch für den Port, dieser sollte auch nicht als String übergeben werden, in deinem Fall aber kein Problem, weil du ohnehin den Standardport 21 verwendest.

    2 Mal editiert, zuletzt von misterspeed (4. April 2011 um 14:47)

  • Hallo,

    Ist ein ISP Problem. ARCOR fixt das gerade.

    Kann mir bitte jemand zeigen wie ich FTP files aus einem FTP Directory löschen kann, ich benötige 2 Bwispiele:

    1. Alles löschen im Dir
    2. nur bestimmte dateien mit bestimmten Endungen z.B. .HTML

    Ich weiss dass es über arrays geht, wäre aber super wenn jemand ein Beispiel Script schreiben kann für die 2 Fälle.

    Regards,
    R4z0r

    "Thinking in binary"

  • Wie kann ich mehrere Files per FTP in einem Verzeichnis löschen:

    1. Unabhängig von der Endung
    2. Abhängig von der Endung, z.B. .html

    Das war die letzte Frage für 2011 :rolleyes:

    Bitte Beispielcode...

    "Thinking in binary"