Utilizar Rest em Harbour

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

Moderador: Moderadores

hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar Rest em Harbour

Mensagem por hs_paulo »

Pessoal !

Tenho que fazer uma rotina pra pegar pedidos e enviar as postagens efetuadas em um markeplace, e ele utiliza a API que usa arquitetura Rest.

Alguem tem experiencia ou uma luz por onde comerçar ?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Utilizar Rest em Harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Tem a palestra, e o powerpoint...
https://medium.com/harbour-magazine/res ... 5e59335cf7

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
cnavarro
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 28 Set 2017 14:16
Localização: Spain

Utilizar Rest em Harbour

Mensagem por cnavarro »

Acceder a un REST API es sencillo desde Harbour

https://bitbucket.org/fivetech/harbour_ ... o_REST.pdf
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar Rest em Harbour

Mensagem por hs_paulo »

Pessoal,

Como logo em um site?

Tenho que logar em um site utilizando autotenticacao basica. Tentei seguir as apostilas que mandaram, mas não consegui. Como fazer?
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar Rest em Harbour

Mensagem por asimoes »

Tenta usar o SoapUI

https://www.soapui.org/

Ele trabalha com SOAP / REST
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar Rest em Harbour

Mensagem por hs_paulo »

Pessoal, é o seguinte:

Tenho que acessar um servidor Rest e a autenticação na API é feita utilizando o padrão Basic Auth com o Token codificado em 64bits.

Quando acesso pelo SOAPui, acessa normal, mas quando tento pelo Harbour não estou conseguindo.

Veja se voces podem me ajudar, onde estou errando? Sempre retorna "nao autorizado"

Código: Selecionar todos

Procedure Main ()

Public wCode64 :="dmVuZGFzQGhhcmRzb2Z0bmV0LmNvbS5ickA0ODEzLTMyUzQtNEJVVC0zTzdH"

Public wURL    := [https://api.marketplace.cissamagazine.com.br/items/020097/price]

Public wServerWS := Win_OleCreateObject("MSXML2.ServerXMLHTTP")

With Object wServerWS
     :Open( "GET", wURL, .F. )
     :SetRequestHeader( "Content-Type", 'text/xml; charset="utf-8"' )
	 :SetRequestHeader( "Authorization", "Basic " + wCode64 )
     :Send( " " )

	 ? wServerWS:responseText
	 inkey (0)
 
End With

Return nil
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar Rest em Harbour

Mensagem por hs_paulo »

Achei o erro. Estava no codigo de 64bits.

Funcionou.

Fica o exemplo pra quem precisa acessar o REST com autenticação basica.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Utilizar Rest em Harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Cadê o exemplo, e o FIX do erro autent. 64bits ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Utilizar Rest em Harbour

Mensagem por janio »

Achei o erro. Estava no codigo de 64bits.
Boiei
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Utilizar Rest em Harbour

Mensagem por Itamar M. Lins Jr. »

Ola!
Public wCode64 :="dmVuZGFzQGhhcmRzb2Z0bmV0LmNvbS5ickA0ODEzLTMyUzQtNEJVVC0zTzdH"
Tô achando que essa variável está com erro de sintaxe.
Agora eu não sei onde pego isso.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
binho_fasa
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Jul 2004 12:53
Localização: Brazil
Contato:

Utilizar Rest em Harbour

Mensagem por binho_fasa »

Algumas informações como logins entre outros precisam ser convertidos a base 64 por questões de segurança. No site https://www.base64encode.org/ pode ser convertido, por exemplo: password=123456 para cGFzc3dvcmQ9MTIzNDU2.

[]´s
hs_paulo
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 02 Set 2015 17:11
Localização: Bauru

Utilizar Rest em Harbour

Mensagem por hs_paulo »

Estou com um novo problema !

Utilizando o Postman ele retorna corretamente, quando faço pelo programa retorna vazio.


Procedure Main ()

Public wServerWS := Win_OleCreateObject( "MSXML2.ServerXMLHTTP" )

Do While .t.
Begin Sequence
With Object wServerWS
:Open( "GET", "https://marketplace.madeiramadeira.com. ... 0&offset=0", .f. )
:SetRequestHeader( "Content-Type", "application/json; charset=utf8" )
:SetRequestHeader( "TOKENMM", "MMKTP25032019152137" )
:Send( "{}" )
:WaitForResponse( 1000 )

? wServerWS:readyState
? wServerWS:Status
? wServerWS:StatusText
? wServerWS:ResponseXML
inkey (0)

End With
End Sequence
Exit
EndDo

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

Utilizar Rest em Harbour

Mensagem por JoséQuintas »

Na única comunicação que fiz, consultas eram com POST, e alterações eram com PUT.
Sem esse GET
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar Rest em Harbour

Mensagem por asimoes »

binho_fasa escreveu:Algumas informações como logins entre outros precisam ser convertidos a base 64 por questões de segurança.
Tem função do harbour que faz isso:

oEncoder := TipEncoderBase64():New()

cEncode := oEncoder:Encode( "TESTE" )
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Utilizar Rest em Harbour

Mensagem por asimoes »

►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder