Permite emular um client HTTP - Hypertext Transfer Protocol, através de uma função da linguagem AdvPL, acessando um determinado documento HTML, publicado em um servidor Web, utilizando o método GET, permitindo a passagem de parâmetros via URL e aguardando por um tempo determinado (time-out) pela resposta do servidor solicitado.
Sintaxe
HttpGet( < cUrl >, [ cGetParms ], [ nTimeOut ], [ aHeadStr ], [ @cHeaderGet ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cUrl | caractere | Indica o endereço HTTP com a pasta e o documento solicitado. | X |
|
cGetParms | caractere | Indica a lista de strings de parâmetros que serão enviadas ao servidor HTTP, através da URI. Caso este parâmetro não seja especificado, o mesmo será considerado vazio (""). |
|
|
nTimeOut | numérico | Indica o tempo, em segundos, máximo de inatividade permitido durante a recepção do documento. Caso este parâmetro não seja especificado, o valor padrão assumido será de 120 segundos (2 minutos). |
|
|
aHeadStr | vetor | Indica o array que contêm as strings que serão acrescentadas ao header da requisição que será realizada. |
|
|
cHeaderGet | caractere | Indica o retorno, através de referência, da header de resposta HTTP enviada pelo servidor requisitado. Observação: A variável deve ser declarada antes da chamada da função. |
| X |
Retorno
Nome | Tipo | Descrição |
---|---|---|
cRet | caractere | Retorna uma string HTML que corresponde ao documento solicitado. |
Observações
- Na passagem do parâmetro GET, deve-se ficar atento ao formato da string que será passada como parâmetro, pois a mesma segue o formato URI - Uniform Resource Identifiers : Query Component.
- 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 o acesso ao documento, como por exemplo o documento não exista, a função retornará uma string HTML com a mensagem de erro HTML enviada pelo servidor correspondente.
Exemplos
#INCLUDE "TOTVS.CH" User Function tstGet() Local cHtmlPage // Buscar página cHtmlPage := Httpget('http://www.servidor.com.br/pageteste.htm') conout("WebPage", cHtmlPage) // Chamar página passando parâmetros cHtmlPage := Httpget('http://www.servidor.com.br/funteste.asp?Id=123&Nome=Teste') conout("WebPage", cHtmlPage) // ou cHtmlPage := Httpget('http://www.servidor.com.br/funteste.asp','Id=123&Nome=Teste') conout("WebPage", cHtmlPage) Return
Abrangência
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server