Jump to content

Recommended Posts

Hey autoIT community!

I am having a bit of trouble, I am trying to communicate with my FTP server to upload a file, I have tried this script, but it won't work:

 

#include <FTPEx.au3>
Func FTP()
    $server = 'ftp.myftphost.com'
    $username = 'MyFtpUsername'
    $pass = 'MyFtpPassword'

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    $Ftpp = _FTP_FilePut($Conn, 'C:\Users\MyUserName\Desktop\test.au3', '/htdocs')
    $Ftpc = _FTP_Close($Open)
    Exit
EndFunc

 

I don't understand why it won't work, all of the ftp credentials are correct...

If someone could help me it would be real nice.

Thanks :D

Edited by thejtr

Share this post


Link to post
Share on other sites

have you tried using _FTP_DirGetCurrent() to see if you have successfully made a connection and you can read the FTP file directory??

 

Share this post


Link to post
Share on other sites

Hey autoIT community!

I am having a bit of trouble, I am trying to communicate with my FTP server to upload a file, I have tried this script, but it won't work:

 

#include <FTPEx.au3>
Func FTP()
    $server = 'ftp.myftphost.com'
    $username = 'MyFtpUsername'
    $pass = 'MyFtpPassword'

    $Open = _FTP_Open('MyFTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)
    $Ftpp = _FTP_FilePut($Conn, 'C:\Users\MyUserName\Desktop\test.au3', '/htdocs')
    $Ftpc = _FTP_Close($Open)
    Exit
EndFunc

 

I don't understand why it won't work, all of the ftp credentials are correct...

If someone could help me it would be real nice.

Thanks :D

All of your code is in the ftp function.... Do you ever actually call that function? 

Edited by kaisies

Share this post


Link to post
Share on other sites

Never mind, I found out why it did not work, I had to put 

#RequireAdmin

before it because Windows Firewall was blocking the ftp...

Share this post


Link to post
Share on other sites

The @Error is very good on that UDF to help find the problem.  It looks like you found it without but had you put error checking in you could have seen your error started right at the connection phase.

As for your firewall, is this something only admins will run so you can use #RequireAdmin or will non admin accounts need to run it?  You may want to add the proper firewall exceptions if that is the case.  An example of my FTP exception that is run when I install the FTP script.

Run(@WindowsDir & "\sysnative\cmd.exe /c netsh firewall set allowedprogram program = " & '"C:\Tiburon\MapFTP\Download Map Update.exe"' & " name = MapDownload mode = enable profile = all")

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Dent
      The following function successfully connects to and uploads a local text file named user.dat
      I have checked the data being written to the text file when it is created locally using a MsgBox and it appears exactly how it should be written to the file. If I comment out the FileDelete and go and open the file locally it is as expected.
      However when I download the file from the FTP server and open it up the text that should be at the end of the file is missing. With each subsequent run more characters are missing.
      I added the Sleep(5000) in case the function was closing the FTP connection too quickly before the file could be fully written but it makes no difference. The user.dat file is (should be) approximately 100 bytes so it is tiny.
      Any idea why this is happening?
      Func UpdateUserData() ; Upload the modified user.dat file Local $hOpen = _FTP_Open("myftp") Local $hConn = _FTP_Connect($hOpen, "my.ftp.server", "user", "pass", 1, 0, 1, 2) If @error Then MsgBox(16, "Error", "Connection failed" & @CRLF & @CRLF & "Please contact support") _FTP_Close($hConn) _FTP_Close($hOpen) Exit EndIf _FTP_FilePut($hConn, @TempDir & "\user.dat", "user.dat") ; Upload the new user.dat file Sleep(5000) If @error <> 0 Then MsgBox(16, "Error", "Couldn't transmit data" & @CRLF & @CRLF & "Please contact support") _FTP_Close($hConn) _FTP_Close($hOpen) Exit EndIf _FTP_Close($hConn) _FTP_Close($hOpen) FileDelete(@TempDir & "\user.dat") EndFunc  
    • By dascondor
      So basically need to pull text from a .txt file or .sql and use that text to replace something within a different file.
       
      First File:
      jumps
       
      Or:
      Text1 = jumps
      Text2 = fence
      Second File:
      My Dog XXXXX over the YYYYY.
       
       
      After Script:
      My Dog jumps over the fence
       
      I have found a good start, I'm basic programmer at best, I have some experience but this gets out of my wheel house.
       
      Any help is appreciated.
       
       
    • By Pike
      Hey Everyone, I haven't been here in a while and recently picked up my old project. Still an FNG!
      To the point: I want to be able to push the button and either play an mp3, open a file, or open an exe program (all with the same button). The problem is that I don't know how to code for that at "case 1"
              Case 1                                                                                                                                             
                  Local $sRead = IniRead("config.ini", "Config", "One", "Default")                                
                  SoundPlay($sRead, @HotKeyPressed)                                                                     <-------------------------------
                  Run($sRead, @HotKeyPressed)                                                                                 <------------------------------- This 'Run' doesn't work even by itself!
      See code below for layout. If you need more information I will attach more code or answer any questions. Any help is greatly appreciated.
       
      Much Respect,
      Pike
       
      Func _HandleButton() $iClickCount += 1 $iTimer = TimerInit() AdlibRegister("CheckButtonPress", $CheckTime) EndFunc Func CheckButtonPress() If TimerDiff($iTimer) < $CheckTime Or $iTimer = 0 Then Return Switch $iClickCount Case 1 Local $sRead = IniRead("config.ini", "Config", "One", "Default") SoundPlay($sRead, @HotKeyPressed) Run($sRead, @HotKeyPressed) Case 2 MsgBox(0, "INFORMATION:", "Choose the file you want designated to this button") Local $sFileOpenDialog = FileOpenDialog(0, @ScriptDir & "\", "All (*.*)", $FD_FILEMUSTEXIST + $FD_MULTISELECT) If @error Then MsgBox($MB_SYSTEMMODAL, "", "No file(s) were selected.") EndIf Local $sFileName = InputBox("INFORMATION:", "Please Name Your File?" & @CRLF _ & @CRLF _ & "6 Characters or Less", "") IniWrite(@ScriptDir & "\config.ini", "Config", "One", $sFileOpenDialog) IniWrite(@ScriptDir & "\config.ini", "Config", "NameOne", $sFileName) EndSwitch $iClickCount = 0 AdlibUnRegister() EndFunc  

    • By Raywando
      Hello,
      This is my first post. So I’ve worked on a script for a while and I’m planning to publish it but the problem is that it connects to an FTP server at some point, and as you probably know FTP credentials are easily captured by a MITM attack or Wireshark (not sure if Wireshark does). So I thought if i can detect data capturing in the user’s network the script would stop. Any idea?.
      If there’s another workaround I’m happy to hear it. 
    • By Dequality
      error code >Running:(3.3.14.2):C:\Program Files (x86)\AutoIt3\autoit3.exe "D:\Scripts\Tests\Test.au3" --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop +>16:23:40 AutoIt3.exe ended.rc:0 +>16:23:40 AutoIt3Wrapper Finished. >Exit code: 0 Time: 0.6734 HotKeySet("{F4}", _myExit()) Global $aCoordinates1[2] = [499, 582] Global $aCoordinates2[2] = [672, 614] While(1)     $instrument = PixelSearch(602, 439, 601, 438, 0x434343, 1)     if not(@error) Then         $musicscore = PixelSearch(1185, 529, 1184, 528, 0xDDA03B, 1)         If not(@error) Then             MouseMove($musicscore[0], $musicscore[1], 3)             Sleep(500)             MouseClick("RIGHT", $musicscore[0], $musicscore[1], 1, 1)         EndIf     EndIf     MouseClick("LEFT", random($aCoordinates1[0], $aCoordinates1[1]), Random($aCoordinates2[0], $aCoordinates2[1]))    Sleep(Random(304000, 309043)) WEnd Func _myExit()     Exit EndFunc Any help are highly appreciatet... :-) 
       
      Dequality.
×
×
  • Create New...