Á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

...

HttpCGet

...

Função: HTTPCGet

...

HttpCGet

Permite emular um client HTTP - Hypertext Transfer Protocol diretamente da máquina onde o SmartClient está sendo executado, 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

...

HTTPCGet ( < cUrl>, [ cGetParms], [ nTimeOut], [ aHeadStr], [ @cHeaderRet] ) --> cResponse

...

Bloco de código
collapsefalse
HttpCGet( < 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 uma string de parâmetros, do tipo GET, que serão enviados ao servidor HTTP através da URI. Caso não seja especificado, este parâmetro será considerado vazio ("").

 

 

nTimeOut

...

numérico

Indica o tempo, em segundos, máximo de inatividade permitido durante a recepção do documento. Caso não seja especificado, o valor assumido será de 120 segundos.

 

 

aHeadStr

...

vetor

Indica o array que contêm as strings que serão acrescentadas no header da requisição HTTP que será realizada.

 

 

...

cHeaderGet

...

caractere

Indica a string que conterá o header de resposta HTTP enviado 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 a string que corresponde a requisição solicitada.

Observações

Importante

...

: Função disponível em versões iguais ou superiores a 7.00.

...

111010P

...

  • O

...

  • parâmetro cGetParams representa um texto que será enviado via "Get".

  • (Exemplo

...

  • "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).
  • Ao utilizar a função HTTPCGet(), pode-se especificar um Content-Type diferenciado para o conteúdo postado. Caso não seja especificado um Content-Type, alguns servidores tratam a informação postada como sendo um dado do tipo 'application/x-www-form-url', ou seja, seria o equivalente a um formulário HTML postado via browser. Desta forma, outros servidores poderão não reconhecer tal informação postada dessa forma. Para especificar que o conteúdo postado deve ser tratado como um Get de formulário HTTP, deve-se passar no

...

  • parâmetro um elemento 'Content-Type: application/x-www-form-url'.

Exemplos

Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
#INCLUDE "TOTVS.CH"
User Function tstCGet()
  Local cUrl
      := "endereço do get"
  Local cGetPar
 := "String com parâmetros a ser enviado na URL"
  Local nTimeOut
 := 2 //
SegundosLocal
Segundos
  Local aHeaderStr:= {}
  Local cHeaderRet:= ""
  Local cResponse
  := ""
  Local cErro
    := ""
  aAdd(aHeaderStr,"Content-Type| text/xml; charset=utf-8" )
  aAdd(aHeaderStr,"Content-Length| " + Alltrim(Str(Len(cGetPar))) )
  cResponse := HttpCGet( cUrl , cGetPar , nTimeOut , aHeaderStr , @cHeaderRet )
  VarInfo("Header:", cHeaderRet)
  VarInfo("Conteudo:" ,cResponse) 
  VarInfo("Erro:", HTTPGetStatus(cErro) )
  VarInfo("Erro:", cErro )
Return

Abrangência

Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

Veja também