Alguien ha conectado mediante CURL con un servidor SFTP para descargar / subir un archivo?
Lo hago así con FTP y funciona bien
- Code: Select all Expand view
#include "hbcurl.ch"
#include "fivewin.ch"
function Main()
curl_global_init()
callSFTP( "ftp.misitio.com.ar/archivos/miarchivo.jpg" )
curl_global_cleanup()
return nil
function callSFTP( cServer )
LOCAL curlHandle, cFtpsURL := cServer, cFile, nFSize, cRet, nPort := 21 // En SFTP cambio por 22 o 122 que es el puerto que me abrieron
LOCAL curlErr
cFile := "C:\misdescargas\DOWNLOAD.JPG"
curlHandle:=curl_easy_init()
IF EMPTY(curlHandle)
MsgStop("Error al iniciar cURL.","Error")
RETURN nil
ENDIF
curl_easy_reset( curlHandle )
curl_easy_setopt(curlHandle, HB_CURLOPT_URL, cftpsURL)
curl_easy_setopt(curlHandle, HB_CURLOPT_USERPWD, "usuario:password" )
curl_easy_setopt(curlHandle, HB_CURLOPT_PORT, nPort)
curl_easy_setopt(curlHandle, HB_CURLOPT_FOLLOWLOCATION, .T. )
curl_easy_setopt(curlHandle, HB_CURLOPT_SSL_VERIFYPEER, .F. )
curl_easy_setopt(curlHandle, HB_CURLOPT_SSL_VERIFYHOST, .F. )
curl_easy_setopt(curlHandle, HB_CURLOPT_DOWNLOAD, 1)
curl_easy_setopt(curlHandle, HB_CURLOPT_PROTOCOLS, HB_CURLPROTO_FTP ) // En SFTP cambio por HB_CURLPROTO_SFTP
curl_easy_setopt(curlHandle, HB_CURLOPT_DL_FILE_SETUP, cFile)
/* Do everything */
curlErr := curl_easy_perform(curlHandle)
/* Report any errors */
cRet:=curl_easy_strerror(curlErr)
MsgInfo(cRet)
//Close
curl_global_cleanup( curlHandle )
RETURN nil
Pero si cambio el protocolo para un servidor SFTP no me esta funcionando. Siempre me da como respuesta "Unsupported Protocol"
Alguien lo ha hecho con SFTP?
Gracias de antemano