Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css

Pagetitle

...

Função: HTTPGet

...

HttpGet
HttpGet

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], [ @cHeaderRet] ) --> cResponse

...

Bloco de código
collapsefalse
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.

...

Utilizar "|" (pipes) para separação entre parâmetro e valor.



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.

Informações
icontrue
titleObservações
Nota
icontrue
titleAtenção

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. Para tanto, utilize no valor do parâmetro a função Escape.

  • 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
  • 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.
  • Campos 'Content-Length' não deverão ser acrescentados manualmente no cabeçalho HTTP via parâmetro <aHeadStr>; caso sejam acrescentados e indiquem tamanho do corpo da mensagem igual ao esperado, serão descartados silenciosamente; caso sejam acrescentados e indiquem tamanho do corpo da mensagem diferente do esperado, serão descartados e um aviso será gerado no log da aplicação.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
#INCLUDE "TOTVS.CH"
Neste exemplo, será solicitado ao servidor HTTP o conteúdo de uma página
e a chamada de uma página .ASP passando os parâmetros via GET.
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
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
 


// ou utilizando a função Escape (recomendado)
cHtmlPage := Httpget('http://www.servidor.com.br/funteste.asp','Id=' + Escape('123') + '&Nome=' + Escape('Ana Silva'))
conout("WebPage", cHtmlPage)
Return

Veja também