PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → Quando mando no conteúdo um json de um Httpsend, vem errado com um monte de zeros
Quando mando no conteúdo um json de um Httpsend, vem errado com um monte de zeros
Started by Boller, Aug., 26 2021 11:19 PM - No answer
Registered member
3,651 messages
Popularité : +175 (223 votes)
Posted on August, 26 2021 - 11:19 PM
Prezados,

Texto do Paulo Maia:

Quando mando no conteúdo um json de um Httpsend, vem errado com um monte de zeros e ><
devido o charset estar errado

Vejam o que ele tem de retorno um monte de zeros….

{<0> <0>"<0>r<0>e<0>s<0>p<0>_<0>l<0>o<0>g<0>i<0>n<0>"<0>:<0>"<0>m<0>a<0>s<0>t<0>e<0>r<0>"<0>,<0> <0>"<0>r<0>e<0>s<0>p<0>_<0>s<0>e<0>n<0>h<0>a<0>"<0>:<0>"<0>1<0>"<0>,<0> <0>"<0>m<0>o<0>d<0>o<0>_<0>a<0>n<0>d<0>r<0>o<0>i<0>d<0>"<0>:<0>f<0>a<0>l<0>s<0>e<0>,<0> <0>"<0>t<0>e<0>l<0>e<0>f<0>o<0>n<0>e<0>_<0>i<0>d<0>"<0>:<0>"<0>"<0> <0>}<0>


Deveria vir isso:

{
"resp_login":"master",
"resp_senha":"1",
"modo_android":false,
"telefone_id":""
}



Solução foi adicionar mais um parâmetro para mudar para isso:

MyRequest.ContentType = typeMimeText


Resultando disso deu certo o retorno:

Procedure WSObterDadosServidor(LOCAL sMetodo, sRegra is string, sConteudo is JSON)

sJsonParametro is JSON = sConteudo
sRetorno is string = ""
TemErro is boolean
MyRequest is httpRequest
MyRequest.Method = sMetodo
//--
MyRequest.Header["Authorization"] = gloAluno_id_externo +","+ gvToken +","+ gloPessoa_id_externo
MyRequest.Header["UserAuthorization"] = IdTelefone
MyRequest.Header["Accept"] = "/"
MyRequest.Header["Accept-Encoding"] = "gzip, deflate, br"
MyRequest.Header["Connection"] = "keep-alive"
MyRequest.Header["Date"] = DateSys()+TimeSys()
//MyRequest.ContentType = "application/json; charset=utf-8"
MyRequest.URL = URL_SISTEMA+sRegra
MyRequest.Content = sJsonParametro
MyRequest.ContentType = typeMimeText
MyRequest.Timeout = 60s
MyRequest.IgnoreError = httpIgnoreRedirection + httpIgnoreRedirectToHTTP + httpIgnoreRedirectToHTTPS + httpIgnoreRevocation + httpIgnoreExpiredCertificate + httpIgnoreInvalidCertificate + httpIgnoreInvalidCertificateName
//MyRequest.IgnoreError = httpIgnoreRedirection
//--
//HourGlass(True)
cMyResponse is httpResponse = HTTPSend(MyRequest)
//HourGlass(False)

IF ErrorOccurred THEN
Error(ErrorInfo(errFullDetails))
END


Result

{
"resp_login":"master",
"resp_senha":"1",
"modo_android":false,
"telefone_id":""
}



Muito obrigado por compartilhar Paulo Maia

Juntos somos mais fortes

Parabéns 🎈🎉🍾

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/