Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/6062824/tecnologia.css
|
Pagetitle | ||||
---|---|---|---|---|
|
...
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 (""). |
| |||
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. |
|
| ||
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. |
...
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
|
Nota | ||||
---|---|---|---|---|
| ||||
Para utilização do 'Content-Type: multipart/form-data' atente-se a formatação dos Parametros do Post (uma linha em branco deve ser inserida sempre antes do conteúdo de cada elemento). É possível informar o boundary que será utilizado na transmissão utilizando a seguinte sintaxe: "Content-Type: multipart/form-data; boundary=MyBoundary" Quando o filename é informado, o conteúdo do arquivo será carregado pelo Application Server e será enviado. Para correta interpretação da mensagem pelo server que receberá o conteúdo do POST é ideal que o Content-type seja especificado. Para lista dos content-types possíveis consulte: http://tdn.totvs.com/display/tec/Valores+de+Content-Types Essa funcionalidade está disponível apenas em versões iguais ou superiores a: 13.1.3.44,13.2.3.44 e 17.3.0.13. |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH"
#INCLUDE "XMLCSVCS.CH"
user function tstpostMFormData()
Local cUrl := "http://ptsv2.com/t/totvstests/post"
Local nTimeOut := 120
Local aHeadOut := {}
Local cHeadRet := ""
Local sPostRet := ""
aadd(aHeadOut,'User-Agent: Mozilla/4.0 (compatible; Protheus '+GetBuild()+')')
//aadd(Content-Type: multipart/form-data; boundary=TotvsBoundaryTest') //Se desejar informar o boundary
aadd(aHeadOut,'Content-Type: multipart/form-data')
cPostParms := 'Content-Disposition: form-data; name="FileTextExample"; filename="D:\Teste.txt" ' + CRLF //Envio de Arquivo especificando o Content-Type
cPostParms += 'Content-Type: text/plain;' + CRLF
cPostParms += 'Content-Disposition: form-data; name="FileTextExample"; filename="D:\Teste.txt"' + CRLF //Envio de Arquivo sem espeficar o Content-Type
cPostParms += 'Content-Disposition: form-data; name="someParam"' + CRLF + CRLF //Envio de paramentos. Obrigatório Linha em branco antes do conteúdo
cPostParms += 'someParamValue' //Conteúdo do Parametro
sPostRet := HttpPost(cUrl,"",cPostParms,nTimeOut,aHeadOut,@cHeadRet)
if !empty(sPostRet)
conout("HttpPost Ok ")
varinfo("WebPage", sPostRet)
else
conout("HttpPost Failed.")
varinfo("Header", cHeadRet)
Endif
Return
|
...