Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
HTTPSGet
HTTPSGet

Função: HTTPSGet

Emula um client HTTP - Hypertext Transfer Protocol, utilizando protocolo HTTPS através de uma função AdvPL, postando um bloco de informações para um determinado documento publicado em um servidor Web, utilizando o método GET, permitindo a passagem de parâmetros adicionais via URL e aguardando por um tempo determinado (time-out) pela resposta do servidor solicitado.

HTTPSGet ( < cUrl>, < cCertifcate>, < cPrivKey>, < cPassPhrase>, [ cGETParms], [ nTimeOut], [ aHeadStr], [ @cHeaderRet] ) --> cReturn

 

NomeTipoDescriçãoObrigatórioReferência
cUrlCaracterIndica a URL a ser buscada.X 
cCertifcateCaracterIndica o certificado SSL.X 
cPrivKeyCaracterIndica a chave privada.X 
cPassPhraseCaracterIndica a senha da chave.X 
cGETParmsCaracterIndica os parâmetros GET.  
nTimeOutNuméricoIndica o timeout para a conexão.  
aHeadStrCaracterIndica as informações adicionais de header.  
cHeaderRetCaracterIndica o header de resposta da requisição. X

 

cReturn
    (caracter)
  • Retorna a string que corresponde a requisição solicitada.

O parâmetro <cGetParms> representa uma lista de itens, separados por '&'. Pois, a mesma segue o formato URI - Uniform Resource Identiers: Query Componet.

Exemplo: "param1=value1&m2=value2".

Neste caso, ao realizar o GET para o endereço, este seria completado com os parâmetros Get.

Exemplo http://www.totvs.com?param1=value1¶m2=value2.

 

Caso não seja retornado o documento antes do término do time-out especificado na chamada da função ou não seja possível localizar o servidor; seja por falha de resolução de DNS ou por erro de sintaxe ao especificar a URL, a função retornará nulo (NIL).

Caso não seja possível acessar o documento como, por exemplo, o documento não existe, o retorno será uma string HTML com a mensagem de erro HTML enviada pelo servidor correspondente.

Importante

Função disponível para build superior a 7.00.090818P.

 

#INCLUDE "TOTVS.CH"
#INCLUDE "XMLCSVCS.CH"

user function tstgetssl()
Local cUrl := "HTTPS://homologacao.nfe.fazenda.sp.gov.br:443/nfeWEB/services/NfeStatusServico.asmx"
Local nTimeOut := 120
Local aHeadOut := {}
Local cHeadRet := ""
Local sGetRet := ""

// Acrescenta o UserAgent na requisição ...
// http://tools.ietf.org/html/rfc3261#page-179aadd179
aadd(aHeadOut,'User-Agent: Mozilla/4.0 (compatible; Protheus '+GetBuild()+')')
sGetRet := HttpSGet(cUrl, "\certs\cert.pem", "\certs\privkey.pem", "pwdprivkey", "","",nTimeOut,aHeadOut,@cHeadRet)
if empty(sGetRet)
conout("Ok HttpSGet")
conout("WebPage", sGetRet )
else
conout("Fail HttpSGet. Verifique conf. de Proxy")
varinfo("Header", cHeadRet)endifreturn
endif
return
Protheus 10 , TOTVS Application Server 10 , ByYou Application Server