import.css=/download/attachments/6062824/tecnologia.css

Permite emular um client HTTP - Hypertext Transfer Protocol diretamente da máquina onde o Smart Client está sendo executado, 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 POST, permitindo a passagem de parâmetros adicionais via URL e aguardando por um tempo determinado (time-out) pela resposta do servidor solicitado.

Sintaxe

HttpCPost( < cUrl >, [ cPostParms ], [ 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


cPostParms

caractere

Indica uma string de parâmetros, do tipo POST, que serão enviados ao servidor HTTP através da URL. 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. Utilizar "|" (pipes) para separação entre parâmetro e valor.



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

Exemplos

#INCLUDE "TOTVS.CH"
User Function tstCpost()
  Local cUrl     := "endereço do post"
  Local cPostPar := "String a ser eviada"
  Local nTimeOut  := 2 //Segundos
  Local aHeaderStr:= {}
  Local cHeaderRet:= ""
  Local cResponse  := ""
  Local cErro    := ""
  cPostPar := 'Conteudo a ser enviado via Post'
  aAdd(aHeaderStr,"Content-Type| application/x-www-form-urlencoded")
  aAdd(aHeaderStr,"Content-Length| " + Alltrim(Str(Len(cPostPar))) )
  cResponse := HttpCPost( cUrl , cPostPar , nTimeOut , aHeaderStr , @cHeaderRet )
  VarInfo("Header:", cHeaderRet )
  VarInfo("Retorno:", cResponse )
  VarInfo("Erro:", HTTPGetStatus(cErro) )
  VarInfo("Erro:", cErro )
Return

Veja também