upload via ftp ou http

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

upload via ftp ou http

Mensagem por Abel »

apos ler os post e contar com a colaboracao de voces, meu download esta funcionando pela hbtip.

agora tenho outra questao para resolver, preciso fazer upload de arquivos para o site e gostaria de fazer pelo harbour 3.1 nighty.

pode ser via ftp ja que nao havera conexoes simultaneas enviando arquivos ao site.

procure no forum achei algumas coisas referente a download mesmo o titulo sendo upload,

se alguem puder colaborar com mais esta duvida, agradeco desde ja.

estou usando harbour nighty 3.1

Abel
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

upload via ftp ou http

Mensagem por Imatech »

\Harbour\contrib\hbtip\tests\upld_ftp.prg

Código: Selecionar todos


/*
 * $Id: upld_ftp.prg 17552 2012-06-04 22:21:59Z vszakats $
 */

/*
 * Uploadftp.prg
 * Send an file or list of files to ftp server
 */

#include "directry.ch"

PROCEDURE MAIN( cMask )

   ? TRP20FTPEnv( cMask  )

   RETURN

/**********************************************************************
 *
 *     Static Function TRP20FTPEnv()
 *
 **********************************************************************/

STATIC FUNCTION TRP20FTPEnv( cCarpeta )

   LOCAL aFiles
   LOCAL cUrl
   LOCAL cStr
   LOCAL lRetorno  := .T.
   LOCAL oUrl
   LOCAL oFTP
   LOCAL cUser
   LOCAL cServer
   LOCAL cPassword
   LOCAL cFile     := ""

   cServer   := "ftpserver"   /* change ftpserver to the real name  or ip of your ftp server */
   cUser     := "ftpuser"     /* change ftpuser to an valid user on ftpserer */
   cPassword := "ftppass"     /* change ftppass  to an valid password for ftpuser */
   cUrl      := "ftp://" + cUser + ":" + cPassword + "@" + cServer

   /* Leemos ficheros a enviar */
   aFiles := Directory( cCarpeta )

   IF Len( aFiles ) > 0

      oUrl              := tUrl():New( cUrl )
      oFTP              := tIPClientFtp():New( oUrl, .T. )
      oFTP:nConnTimeout := 20000
      oFTP:bUsePasv     := .T.

      /* Comprobamos si el usuario contiene una @ para forzar el userid */
      IF At( "@", cUser ) > 0
         oFTP:oUrl:cServer   := cServer
         oFTP:oUrl:cUserID   := cUser
         oFTP:oUrl:cPassword := cPassword
      ENDIF

      IF oFTP:Open( cUrl )
         FOR EACH cFile IN afiles
            ? "arquivo : " + cFile[ F_NAME ]
            IF ! oFtp:UploadFile( cFile[ F_NAME ] )
               lRetorno := .F.
               EXIT
            ELSE
               lRetorno := .T.
            ENDIF

         NEXT
         oFTP:Close()
      ELSE
         cStr := "No se ha podido conectar con el servidor FTP" + " " + oURL:cServer
         IF oFTP:SocketCon == NIL
            cStr += Chr( 13 ) + Chr( 10 ) + "Conexión no inicializada"
         ELSEIF hb_InetErrorCode( oFTP:SocketCon ) == 0
            cStr += Chr( 13 ) + Chr( 10 ) + "Respuesta del servidor:" + " " + oFTP:cReply
         ELSE
            cStr += Chr( 13 ) + Chr( 10 ) + "Error en la conexión:" + " " + hb_InetErrorDesc( oFTP:SocketCon )
         ENDIF
         ? cStr
         lRetorno := .F.
      ENDIF
   ENDIF

   RETURN lRetorno

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

upload via ftp ou http

Mensagem por Abel »

Valeu pela dica,
olhei o programa, fiz as adaptacoes, compilei.

mas ele nao envia, retorna sempre .f., tentei ate mesmo usar as dicas de um post

por sygecom » 23 Mai 2012 14:47
Para LocalWeb tem que usar servidor FTP PASSIVO:

oUrl := tUrl():New( "ftp://" + cUser + ":" + cPassword + "@" + cServer )
oFTP := tIPClientFtp():New( oUrl, .F. ) // tentei aqui com .f. e .t.
oFTP:bUsePasv := .T. // aqui o pulo do gato // com .t. ele devolve .f. de imediato
// com .f. ele tenta o envio mas estora no timeout

vale dizer que estou tentando enviar para a localweb, sera q é este o problema ?

Abel
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

upload via ftp ou http

Mensagem por JoséQuintas »

aqui eu uso hptip para upload e download.
Não sei porque, já teve dias de não funcionar pra download - faz todo o processo mas não batem os dados no final.
Já deixei o programa preparado pra usar hbtip uma vez, e se não der certo, usa o XMLSOAP da Microsoft.
Só por causa do gráfico da hbtip....

Não faço idéia porque isso acontece.
Uso no estilo do exemplo que passaram, que tem na pasta hbtip\tests.
Não testei do hb nightly.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder