Acesso a protocolo HTTPS

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

Moderador: Moderadores

mjuliao
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 15 Abr 2013 15:53
Localização: São Paulo / SP

Acesso a protocolo HTTPS

Mensagem por mjuliao »

Olá a todos, estou precisando fazer acesso a um serviço da internet que usa o protocolo https e não estou conseguindo pela classe TIpClient() ou TIpClientHttp().

Alguem sabe me dizer como posso fazer, utilizo xHarbour 1.2.1 (Rev. 6633)

Obrigado!
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

Acesso a protocolo HTTPS

Mensagem por Itamar M. Lins Jr. »

Teste com o xHarbour do SVN.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Acesso a protocolo HTTPS

Mensagem por Kapiaba »

Última versão, está muito estável:

http://whosaway.com/

abs
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Acesso a protocolo HTTPS

Mensagem por Kapiaba »

Veja se ajuda:

Código: Selecionar todos

FUNCTION ReadPage_ler( cUrl )

   LOCAL oUrl, oCli, cRes := ''

   BEGIN SEQUENCE

      oUrl = TUrl():New( cUrl )

      IF EMPTY( oUrl )
         BREAK
      ENDIF

      oCli = TIPClient():New( oUrl )

      IF EMPTY( oCli )
         BREAK
      ENDIF

      oCli:nConnTimeout = 20000

      IF !oCli:Open( oUrl )
         BREAK
      ENDIF

      cRes := oCli:Read()
      oCli:Close()

   END SEQUENCE

RETURN cRes
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Acesso a protocolo HTTPS

Mensagem por Jairo Maia »

Olá pessoal,

Mas se a ideia é acessar um serviço, penso que tem que carregar o certificado de autorização que gerou o https do site.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
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

Acesso a protocolo HTTPS

Mensagem por Itamar M. Lins Jr. »

Na versão que ele está usando, se não estou enganado, não tem (HTTP"S" secure) só tem HTTP.
Ou use o Harbour que tem isso a mais tempo.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Acesso a protocolo HTTPS

Mensagem por Itamar M. Lins Jr. »

Com Harbour é fácil!
Harbour ou xHarbour precisa do SSL

Código: Selecionar todos

/* TIP HTTP advanced operations test */

#require "hbssl"
#require "hbtip"

#if ! defined( __HBSCRIPT__HBSHELL )
REQUEST __HBEXTERN__HBSSL__
#endif

PROCEDURE Main( cURL )

   LOCAL oHTTP, oURL, i

   IF Empty( oURL := TUrl():New( cURL ) )
      ? "Invalid URL", cURL
      RETURN
   ENDIF

   IF !( oURL:cProto == "http" ) .AND. ;
      !( oURL:cProto == "https" )
      ? "This is a header test for http/https."
      ? "Use an http/https address."
      RETURN
   ENDIF

   IF oURL:cProto == "https" .AND. ! tip_SSL()
      ? "Error: Requires SSL support"
      RETURN
   ENDIF

   oHTTP := TIPClientHTTP():New( oURL )
   oHTTP:nConnTimeout := 20000
   ? "Connecting with", oURL:cServer
   IF oHTTP:Open( cURL )
      ? "Connection eshtablished"
      ? "Retrieving", oURL:cPath, oURL:cFile, oURL:cQuery

      IF oHTTP:Get( oURL:cPath )
         ? "Get Successful"
         FOR EACH i IN oHTTP:hHeaders
            ? i:__enumKey() + ":", i
         NEXT
      ELSE
         ? "Get failure (server reply:", oHTTP:cReply, ")"
      ENDIF

      oHTTP:Close()
   ELSE
      ? "Can't connect with", oURL:cServer
      IF oHTTP:SocketCon == NIL
         ? "Connection not initiated"
      ELSEIF hb_inetErrorCode( oHTTP:SocketCon ) == 0
         ? "Server replied:", oHTTP:cReply
      ELSE
         ? "Error in connection:", hb_inetErrorDesc( oHTTP:SocketCon )
      ENDIF
   ENDIF

   ? "Done"

   RETURN
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
mjuliao
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 15 Abr 2013 15:53
Localização: São Paulo / SP

Acesso a protocolo HTTPS

Mensagem por mjuliao »

Obrigado a todos,

Vou tentar as alternativas sugeridas, pelo que vi até agora estou achando que o melhor será atualizar a versão do xHarbour.

Assim que tiver novidades posto aqui.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Acesso a protocolo HTTPS

Mensagem por sygecom »

Eu uso HTTPS e SSL com xharbour 1.2.1
Única coisa que tive que fazer foi linkar junto ao meu projeto as três lib abaixo antes da TIP.LIB:

[D:\Devel\xHarbour\lib\tipssl.lib]
[D:\Devel\xHarbour\lib\ssleay32.lib]
[D:\Devel\xHarbour\lib\libeay32.lib]
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Riggns
Usuário Nível 1
Usuário Nível 1
Mensagens: 16
Registrado em: 31 Mai 2010 09:34
Localização: Cianorte-PR

Acesso a protocolo HTTPS

Mensagem por Riggns »

Bom dia pessoal, estou tentando consumir uma API RestFul e preciso enviar tokens no Header, é possível enviar pelo TIpClientHttp() ?

Grato
Responder