FTP Best Options ?

FTP Best Options ?

Postby TimStone » Fri Mar 03, 2023 6:42 pm

I have been using cURL for JSON internet data transfers, and wininet.dll for file transfers. I've seen other examples here, and know the .dll interface is "older technology".

I am looking to update my interface for FTP uploads and downloads. I need to do the following:
    Upload a file
    Download a file
    See what files are available on the server
    Delete a file on the server after downloading

I'm sure this is a familiar scenario. I would like to know what current methodologies are you using to accomplish these tasks. I am using FWH ( always latest version ), Harbour, MSVC 2020, with 32 and 64 bit builds.

Thanks for your suggestions.
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2904
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: FTP Best Options ?

Postby Otto » Sat Mar 04, 2023 2:16 am

Hello Tim,

I am working on the same problem right now.
FTP should be replaced with secure FTP.
I don't have an example here yet.

For FTP I use the following function.

I wanted to change now unlike you to cURL: https:// and send with cURL.

curl --cacert /path/to/cacert.pem https://example.com

But I get this error: SSL certificate verify result: unable to get local issuer certificate (20)

Do you send with cURL and https?

Best regards,
Otto

Code: Select all  Expand view


function download()
   local oInternet := TInternet():New()
   local oFTP := TFTP():New( "192.168.0.230", oInternet,"remanco", "pwremanco" )
   local aFiles
   local handle
   *----------------------------------------------------------

   if ! Empty( oFTP:hFTP )

      FtpSetCurrentDirectory(oFTP:hFTP, "/usr/cheshire/boh/")

      aFiles = oFTP:Directory("rms.dat" )

      IF len(aFiles) > 0
            AEval( aFiles, { | aFile | FtpGetFile ( oFTP:hFTP, aFile[ 1 ], "c:\remanco\" + aFile[ 1 ] ,.t.,0,0,0 )  } )
      ENDIF

   else
        //  MsgAlert( "
oFTP:hFTP is null" )
   endif

   oInternet:End()

return nil




function f_senden( cDatei )
   local oInternet := TInternet():New()
   local oFTP := TFTP():New( "
ftp.test.info", oInternet, "salettainfo", "pwsaletta" )
   local aInfo := {}
   local I := 0
   local cAktivInfoDir := Setup():AppPath + "
report" //Setup():Daten() + "\xReport"
 
   *----------------------------------------------------------

   if Empty( oFTP:hFTP )
      MsgStop( "
Cannot connect to the specified FTP site!" )
      return nil
   endif



   if ! Empty( oFTP:hFTP )

      select EMPFAREP
      do while .not. eof()

            if  FTPPUTFILE(  oFTP:hFTP,  cAktivInfoDir + "
\"+ cDatei, "/salettainfo/AktivInfo/1" + Alltrim(EMPFAREP->email)  , 0, 0 ) = .t.

            else
               msginfo("
konnte nicht gesendet werden:   "   +   cAktivInfoDir + "\" + cDatei + CRLF +;
                  "
/salettainfo/AktivInfo/" + cDatei  )
            endif

         select EMPFAREP
         skip
      enddo
   else

      MsgAlert( "
oFTP:hFTP is null" )

   endif


   ferase (  cAktivInfoDir + "
\" + cDatei)

   oInternet:End()
    logfile( "
aktivInfo.log", {  "nach senden ", } )
return nil
//----------------------------------------------------------------------------//

********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6008
Joined: Fri Oct 07, 2005 7:07 pm

Re: FTP Best Options ?

Postby Marc Venken » Sat Mar 04, 2023 11:21 am

Marc Venken
Using: FWH 23.04 with Harbour
User avatar
Marc Venken
 
Posts: 1343
Joined: Tue Jun 14, 2016 7:51 am
Location: Belgium

Re: FTP Best Options ?

Postby TimStone » Sun Mar 05, 2023 7:49 pm

I have reviewed the various options, and the pages Marc provided prior to making this post.

Otto, your example uses what was supposed to be the simplified tInternet class with tFTP. It works for obtaining a directory. HOWEVER, that class has no UPLOAD or DOWNLOAD methods.

SO ... I'm still hoping for more clarification or an answer to my question.

We are so dependent on the internet for conducting business that I would think this would be a priority for FiveWin.
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2904
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: FTP Best Options ?

Postby Otto » Sun Mar 05, 2023 9:51 pm

Hi Tim,
Can't you use ftpgetfile and ftpputfile as shown in my example?

Just out of interest: what do you want to send.

For example, I create reports and deliver them via email.

So far, I have always sent the data with ftp to a server and from there the emails.

Now I send directly from the customer server directly.

Or using mod harbour there are a several ways to send data to the server.

Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6008
Joined: Fri Oct 07, 2005 7:07 pm

Re: FTP Best Options ?

Postby TimStone » Sun Mar 05, 2023 9:57 pm

Sorry, I didn't see them in there. I did find another sample that had them and appear to have it working now.

Thanks.
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2904
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: FTP Best Options ?

Postby TimStone » Thu Mar 09, 2023 3:03 am

Otto,

Is there a method to delete a file on the server ?
Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
User avatar
TimStone
 
Posts: 2904
Joined: Fri Oct 07, 2005 1:45 pm
Location: Trabuco Canyon, CA USA

Re: FTP Best Options ?

Postby Marc Venken » Thu Mar 09, 2023 8:15 am

oConn:DropTable( "clientes" )

Just seen Otto.. This is for table inside a connectie. Otto is correct. Sorry
Last edited by Marc Venken on Thu Mar 09, 2023 10:10 am, edited 1 time in total.
Marc Venken
Using: FWH 23.04 with Harbour
User avatar
Marc Venken
 
Posts: 1343
Joined: Tue Jun 14, 2016 7:51 am
Location: Belgium

Re: FTP Best Options ?

Postby Otto » Thu Mar 09, 2023 8:56 am

Hello Tim,
I use
Code: Select all  Expand view



 
FtpSetCurrentDirectory(oFTP:hFTP, "/meldemax")
aFiles = oFTP:Directory("*.*" )
xbrowse(aFiles)
IF len(aFiles) > 0

AEval( aFiles, { | aFile | msginfo( aFile[ 1 ] ),cFile := ALLTRIM( aFile[ 1 ] ),;
cFile := STRTRAN(UPPER(cFile),".TXT",".LTX"),;

FtpGetFile (oFTP:hFTP,aFile[ 1 ], "c:\dbf\" + aFile[ 1 ] ,.t.,0,0,0 ) ,;

oFTP:DeleteFile( aFile[ 1 ]),;

endif



Best regards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Otto
 
Posts: 6008
Joined: Fri Oct 07, 2005 7:07 pm


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 82 guests