Página 1 de 1

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 11:52
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!

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 13:39
por Itamar M. Lins Jr.
Teste com o xHarbour do SVN.

Saudações,
Itamar M. Lins Jr.

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 14:23
por Kapiaba
Última versão, está muito estável:

http://whosaway.com/

abs

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 14:51
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

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 15:40
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.

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 17:45
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.

Acesso a protocolo HTTPS

Enviado: 12 Mar 2015 21:42
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.

Acesso a protocolo HTTPS

Enviado: 13 Mar 2015 13:57
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.

Acesso a protocolo HTTPS

Enviado: 15 Mar 2015 16:17
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]

Acesso a protocolo HTTPS

Enviado: 12 Jun 2015 08:53
por Riggns
Bom dia pessoal, estou tentando consumir uma API RestFul e preciso enviar tokens no Header, é possível enviar pelo TIpClientHttp() ?

Grato