Clipper On Line • Ver Tópico - Enviar comando Http
Mudar para estilo Clássico
Projeto MiniGui - Biblioteca visual para Harbour/xHarbour
Postar uma resposta

Enviar comando Http

09 Set 2013 11:40

Boa Tarde... Preciso enviar um comando para um sistema PHP.
Tentei usar o Connect do tHttp, mas só me retorna False!

Se alguem puder me ajudar!

Cod abaixo.

Código:
************
function vip
************
parameters nCupom , qLitros , vUnitario , dataCupom , horaCupom , cpfCliente

cUrl := "http://www.cmcsys.com.br/2013/integracao.php?modulo=cuponsFiscais&acao=adicionarCupomIntegracao&usuario=integracao&senha=1nt3gr4c4o&masterkey=autocom&codigoCliente=1020&parametro1="
cUrl := cUrl + alltrim(str(nCupom))      +";"
cUrl := cUrl + alltrim(str(qLitros))     +";"             && Formato 10.00
cUrl := cUrl + alltrim(str(vUnitario))   +"&parametro2="  && Formato 1.79
cUrl := cUrl + dataCupom   +";"             && Formato 05/09/2013
cUrl := cUrl + horaCupom   +"&parametro3="  && Formato 11:00
cUrl := cUrl + cpfCliente

oUrl := THttp():New()

     if oUrl:Connect( cUrl )
         msgInfo("Comando Enviado com Sucesso!")
     else
   msgInfo("Erro Ao Enviar Comando!")
     endif

return nil

Enviar comando Http

09 Set 2013 14:29

Amigo, a utilização do THttp parece que está tudo certo, a única coisa que estranhei é o formato de alguns parâmetros que você está passando na URL, nas linhas 8 a 11 do seu código.

Tem certeza que pode passar . (ponto em qLitros e vUnitario), / (barra em dataCupom) e : (dois pontos em horaCupom)?

Faça um teste primeiro digitando a URL completa no seu navegador (Internet Explorer, FireFox, Opera, etc) e veja qual é o resultado.

Abraços,

Enviar comando Http

09 Set 2013 15:39

Ola Toledo , tudo bom?

Obrigado pela resposta!
E sim, os parametros são esse padrão mesmo.
Faço o teste no navegador e funciona.

E quando coloco a Url do google, funciona mesmo.

Atualmente ultilizo um Bat, que manda esse Http pro navegador!
Mas tenho um incomodo abrir um navegador no cliente, que na maioria das vezes é bloquiado.

Estou fazendo teste com http:post(), mas tbm não estou conseguindo!

Só preciso enviar essa Url. Se houver alguma outra ideia de como fazer isso é só me falar tbm.

Abraços...

Enviar comando Http

11 Set 2013 08:51

Ninguem Mais?

Enviar comando Http

11 Set 2013 14:37

Tenta isso:
Código:

oPg1 := Win_OleCreateObject("Microsoft.XMLHTTP")
TRY
   oPg1:Open("GET", cURL, .F.)
   oPg1:Send()
   cBuf1:=oPg1:responseText
   oPg1:=Nil
CATCH
   MsgInfo("Erro na consulta.")
   QUIT
END

Enviar comando Http

16 Set 2013 16:58

Beleza Asimoes?!

Obrigado pela resposta...

Fiz o sugerido e deu:
Código:
Error WINOLE/1007 Argument error: OPEN (DOS Error


Tentei até pelo site do google, e não deu!

Só um detalhe, pelo que andei estudando acho q o comando certo será com POST!

MAs tentei alguns exemplos mais sempre não dá!

:(

Enviar comando Http

16 Set 2013 19:59

Tentando com a Lib Tip:

Código:
oUrl := TURL():New( "www.cmcsys.com.br")
oUrl:cPath := "/2013"

oInternet:=TipClientHttp():new( oURL )

oUrl:cFile := "integracao.php"

IF oInternet:Open()
        msgInfo("Comando Enviado com Sucesso!")
else
   msgInfo("Erro Ao Enviar Comando!")
endif

return nil


Recebo o Erro :

Código:
Error BASE/1081 Operação não suportada: TIPCLIENTHTTP:new()


MAs alguma Dica?

Enviar comando Http

16 Set 2013 20:25

Prezado Samuk,

Tente isto:

Código:
procedure Internet()
local oHttp, oUrl
   
   oUrl := "http://www.integracao.php"
   oHttp:= TipClientHttp():New( oURL )
   oHttp:open(oUrl)
   oHttp:close()

Return

Enviar comando Http

16 Set 2013 23:29

BOa NOite yugi386, muito obrigado pela resposta

Baseado no seu consegui fazer funcionar!

Codigo Aprimorado abaixo:

Código:
************
function vip
************
parameters nCupom , qLitros , vUnitario , dataCupom , horaCupom , cpfCliente
local oHttp, oUrl
, cUrl

cUrl := "integracao.php?modulo=cuponsFiscais&acao=adicionarCupomIntegracao&usuario=integracao&senha=1nt3gr4c4o&masterkey=autocom&codigoCliente=1020&parametro1="
cUrl := cUrl + alltrim(str(nCupom))      +";"
cUrl := cUrl + alltrim(str(qLitros))     +";"             && Formato 10.00
cUrl := cUrl + alltrim(str(vUnitario))   +"&parametro2="  && Formato 1.79
cUrl := cUrl + dataCupom   +";"             && Formato 05/09/2013
cUrl := cUrl + horaCupom   +"&parametro3="  && Formato 11:00
cUrl := cUrl + cpfCliente

oUrl := TURL():New( "http://www.cmcsys.com.br")
oUrl:cPath := "/2013"

oHttp:= TipClientHttp():New( oURL )


oUrl:cFile := cUrl

If oHttp:open(oUrl)
   if oHttp:Read() != NIL
       msgInfo("Comando enviado Com Sucesso!")
   else
       msgInfo("Sem Conexão Com a Internet")
   endif
else
   msgInfo("Erro ao Enviar Comando!")
endif

oHttp:close()

return nil


Percebi que só enviava realmente o comando para o servidor somente se eu desse um Read!

Obrigado a Todos! :D
Postar uma resposta