Histórico da Página
...
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="\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 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 //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 postMFData() Local cUrl := "http://ptsv2.com/t/totvstests/post" Local nTimeOut := 120 Local aHeadOut := {} Local cHeadRet := "" Local sPostRet := "" 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--' 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 |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas