Histórico da Página
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "TOTVS.CH"
#INCLUDE "XMLCSVCS.CH"
user function httpsMD()
Local cUrl := "http://ptsv2.com/t/totvstests/post"
Local nTimeOut := 120
Local aHeadOut := {}
Local cHeadRet := ""
Local cPostRet := ""
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="\Teste.txt" ' + CRLF //Envio de Arquivo especificando o Content-Type
cPostParms += 'Content-Type: text/plain;' + CRLF
cPostParms += 'Content-Disposition: form-data; name="FileTextExample"; filename="\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
cPostRet := HTTPSPost( cURL, "\certs\cert.pem", "\certs\key.pem", "", "", cPostParms, nTimeOut, aHeadOut, @cHeadRet )
if !empty(cPostRet)
conout("HttpPost Ok ")
varinfo("WebPage", cPostRet)
else
conout("HttpPost Failed.")
varinfo("Header", cHeadRet)
Endif
Return
//Abaixo é exemplificado uma requisição que não é formatada pelo Application Server.
//Isso é últi quando deseja-se montar o multipart manualmente em advpl.
user function httpsMD2()
Local cUrl := "http://ptsv2.com/t/totvstests/post"
Local nTimeOut := 120
Local aHeadOut := {}
Local cHeadRet := ""
Local cPostRet := ""
Local cPostParms := ""
Local cUser := "totvs"
Local cPass:= "totvs"
Local cCodSiaf := "sp"
local cXML := "<root><test>Totvs</test></root>"
local cNameArq := "\Teste.txt"
aadd(aHeadOut,'User-Agent: Mozilla/4.0 (compatible; Protheus '+GetBuild()+')')
aadd(aHeadOut,'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFbmu0bODj7UvfQEV')
cPostParms += '------WebKitFormBoundaryFbmu0bODj7UvfQEV'
cPostParms += CRLF
cPostParms += 'Content-Disposition: form-data; name="login"'
cPostParms += CRLF
cPostParms += CRLF
cPostParms += cUser
cPostParms += CRLF
cPostParms += '------WebKitFormBoundaryFbmu0bODj7UvfQEV'
cPostParms += CRLF
cPostParms += 'Content-Disposition: form-data; name="senha"'
cPostParms += CRLF
cPostParms += CRLF
cPostParms += cPass
cPostParms += CRLF
cPostParms += '------WebKitFormBoundaryFbmu0bODj7UvfQEV'
cPostParms += CRLF
cPostParms += 'Content-Disposition: form-data; name="cidade"'
cPostParms += CRLF
cPostParms += CRLF
cPostParms += cCodSiaf
cPostParms += CRLF
cPostParms += '------WebKitFormBoundaryFbmu0bODj7UvfQEV'
cPostParms += CRLF
cPostParms += 'Content-Disposition: form-data; name="f1"; filename="'+cNameArq+'"'
cPostParms += CRLF
cPostParms += 'Content-Type: text/plain'
cPostParms += CRLF
cPostParms += CRLF
cPostParms += cXML
cPostParms += CRLF
cPostParms += '------WebKitFormBoundaryFbmu0bODj7UvfQEV--'
cPostRet := HTTPSPost( cURL, "\certs\cert.pem", "\certs\key.pem", "", "", cPostParms, nTimeOut, aHeadOut, @cHeadRet )
if !empty(cPostRet)
conout("HttpPost Ok ")
varinfo("WebPage", cPostRet)
else
conout("HttpPost Failed.")
varinfo("Header", cHeadRet)
Endif
Return
|
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas