PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → 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
Iniciado por Boller, ago., 26 2021 11:19 PM - Sem resposta
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 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/