Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/3279126062824/newLayouttecnologia.css |
Portuguese |
Pagetitle |
---|
...
Função: HTTPCPost
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.
HTTPCPost ( < cUrl>, [ cPostParms], [ nTimeOut], [ aHeadStr], [ @cHeaderRet] ) --> cResponse
...
|
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
Bloco de código | ||
---|---|---|
| ||
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
- O
...
- parâmetro cGetParams representa um texto que será enviado via "Post".
...
- (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 HTTPCPost(), 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 POST de formulário HTTP, deve-se passar no parâmetro um elemento 'Content-Type: application/x-www-form-url'.
Exemplos
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "TOTVS.CH" User Function tstCpost() Local cUrl := "endereço do post" Local cPostPar := "String a ser eviada" Local nTimeOut := 2 //SegundosLocal Segundos Local aHeaderStr:= {} Local cHeaderRet:= "" Local cResponse := "" Local cErro := "" cPostPar := 'Conteudo a ser enviado via Post' aAdd(aHeaderStr,"Content-Type|text/xml; charset=utf-8" ) 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 ) ReturnProtheus 10 , TOTVS Application Server 10 , ByYou Application Server |