Histórico da Página
...
Nome | Tipo | Descrição |
---|---|---|
cRet | caractere | Retorna a string que corresponde a requisição solicitada. |
Observações
O parâmetro <cGETParms> representa uma lista de itens, separados por '&'
. Pois,
a mesmae segue o formato URI - Uniform Resource Identiers: Query Componet. Exemplo:
"param1=value1¶m2=value2"
. Neste caso, ao realizar o POST para o endereço, este seria completado com os parâmetros Get. Exemplo:
http://www.totvs.com?param1=value1¶m2=value2
Nota icon true title Atenção Para fazer a passagem de valores dos parâmetros de GET, 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 (NILNil).
- Caso não seja possível acessar o documento como, por exemplo, o documento não existe, o retorno será uma string HTML com a mensagem de erro HTML enviada pelo servidor correspondente.
- Os headers da requisição HTTP a ser enviada serão montados automaticamente, contendo o Host, Accept, e Content-Length. Caso o parâmetro aHeadStr não seja especificado, o cabeçalho http da requisição enviada será montado internamente especificando que o conteúdo postado deve ser tratado como "application/x-www-form-urlencoded", identificando ao destinatário da requisição que o conteúdo do pacote HTTP deve ser tratado como um post de um formulário html. Caso o parâmetro aHeadStr seja especificado, devemos acrescentar nele qual é o Content-type da requisição, pois sem esta informação alguns servidores de HTTP, inclusive o próprio Application Server Protheus configurado como HTTP Server, não reconhecerão o conteúdo postado como campos de um formulário.
- Para especificar que o conteúdo postado deve ser tratado como um POST de formulário HTTP, deve-se passar no parâmetro <aHeadStr> um elemento contendo a informação 'Content-Type: application/x-www-form-urlencoded'
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "TOTVS.CH" #INCLUDE "XMLCSVCS.CH" user function tstpost() Local cUrl := "http://www.google.com" Local nTimeOut := 120 Local aHeadOut := {} Local cHeadRet := "" Local sPostRet := "" aadd(aHeadOut,'User-Agent: Mozilla/4.0 (compatible; Protheus '+GetBuild()+')') aadd(aHeadOut,'Content-Type: application/x-www-form-urlencoded') sPostRet := HttpPost(cUrl,"REQUEST=1212","EXAMPLEFIELD=DUMMY",nTimeOut,aHeadOut,@cHeadRet) if !empty(sPostRet) conout("HttpPost Ok") varinfo("WebPage", sPostRet) else conout("HttpPost Failed.") varinfo("Header", cHeadRet) Endif Return |
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas