Página 1 de 1

Enviar comando Http

Enviado: 09 Set 2013 11:40
por Samuk.exe
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: Selecionar todos

************
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

Enviado: 09 Set 2013 14:29
por Toledo
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

Enviado: 09 Set 2013 15:39
por Samuk.exe
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

Enviado: 11 Set 2013 08:51
por Samuk.exe
Ninguem Mais?

Enviar comando Http

Enviado: 11 Set 2013 14:37
por asimoes
Tenta isso:

Código: Selecionar todos


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

Enviado: 16 Set 2013 16:58
por Samuk.exe
Beleza Asimoes?!

Obrigado pela resposta...

Fiz o sugerido e deu:

Código: Selecionar todos

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

Enviado: 16 Set 2013 19:59
por Samuk.exe
Tentando com a Lib Tip:

Código: Selecionar todos

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: Selecionar todos

Error BASE/1081 Operação não suportada: TIPCLIENTHTTP:new()
MAs alguma Dica?

Enviar comando Http

Enviado: 16 Set 2013 20:25
por yugi386
Prezado Samuk,

Tente isto:

Código: Selecionar todos

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

Return

Enviar comando Http

Enviado: 16 Set 2013 23:29
por Samuk.exe
BOa NOite yugi386, muito obrigado pela resposta

Baseado no seu consegui fazer funcionar!

Codigo Aprimorado abaixo:

Código: Selecionar todos

************
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