jetzt solte es ohne probs laufen...
getestet mit proxy-authentification und ohne
solte aber auch bei IE-Modem/ISDN und Lan-ICS Verbindungen ziehen
Code: Alles auswählen
#INTERNET_SERVICE_FTP=1
#INTERNET_OPEN_TYPE_DIRECT=1
#FTP_PROXY_PORT=2121
#FTP_PORT=21 ;Port des FTP-Gateways
#FTP_TRANSFER_ASCII=1
#FTP_TRANSFER_BINARY=2
ProxyServer.s="192.168.2.1" ;IP des Proxy's
ServerName.s="ftp.site"
UserName.s="ftpusername"
Password.s="ftpuserpassword"
localfile.s="c:\test.txt"
remotefile.s="test.txt"
OpenWindow(0,0,0,250,150,#PB_Window_ScreenCentered,"FTP PUT (Proxy)")
CreateGadgetList(UseWindow(0))
WebGadget(0,0,0,0,0,"http://heise.de") ; die test url damit die passwort abfrage kommt bei proxy oder die Frage der Einwahl bei Modem/ISDN
ButtonGadget(1,75,100,100,24,"Abbrechen")
TextGadget(2,10,10,230,24,"Warte auf Verbindung",#PB_Text_Center)
hInternet=InternetOpen_("FTP",#INTERNET_OPEN_TYPE_DIRECT,0,0,0)
If hInternet
;Die Schleife brauchen wir damit der User die Zeit hat die Passwortabfrage vom IE zu bestätigen oder die Modemeinwahl...
Quit=#False
Repeat
WindowEvent=WindowEvent()
If WindowEvent=#PB_EventType_LeftClick And EventGadgetID()=1
Quit=#True
ElseIf WindowEvent=0
;ohne Proxy
hConnect=InternetConnect_(hInternet,ServerName,#FTP_PORT,UserName,Password,#INTERNET_SERVICE_FTP,$08000000,0)
If hConnect
SetGadgetText(2,"Übertrage Datei")
While WindowEvent():Wend
If FtpPutFile_(hConnect,localfile,remotefile,#FTP_TRANSFER_ASCII,0)
MessageRequester("","File has been sent",0)
Quit=#True
EndIf
Else
;mit Proxy
hConnect=InternetConnect_(hInternet,ProxyServer,#FTP_PROXY_PORT,UserName+"@"+ServerName,Password,#INTERNET_SERVICE_FTP,$08000000,0)
If hConnect
SetGadgetText(2,"Übertrage Datei")
While WindowEvent():Wend
If FtpPutFile_(hConnect,localfile,remotefile,#FTP_TRANSFER_ASCII,0)
MessageRequester("","File has been sent",0)
EndIf
Quit=#True
EndIf
EndIf
Delay(10)
EndIf
Until Quit
InternetCloseHandle_(hInternet)
EndIf