Ho un codice che funziona, ma restituisce caratteri cinesi (in allegato), dove sbaglio ?
bufNewAspetto is Buffer
vAsp is Variant
h is httpRequest
h.Method = httpGet
h.URL = "http://localhost:8026/Aspetto"
r is httpResponse = RESTSend(h)
IF r.StatusCode = 200 THEN
Info(r.Content)
// SEGNALA WARNING When converting a buffer into Unicode string, the number of bytes in the buffer is not compatible with a Unicode
// string. Therefore, the buffer may not contain any Unicode string.
ELSE
Info("Errore", r.Content)
END
Grazie in anticipo
Windev Mobile REST and Encode/Decode
Windev Mobile REST and Encode/Decode
- Allegati
-
- display.png (194.44 KiB) Visto 7937 volte
Re: Windev Mobile REST
Ciao,
avevo un errore uguale, ma io "cifro" la risposta per offuscare i dati che sono al interno di un JSON ma sono formattati in xml, comunque ho risolto lato cliente indicando che la risposta è ANSI string
attenzione che anche lato server potresti avere problemi io codifico il tutto quindi lo devo decodificare, ma questo e il codice lato server
ovviamente dopo averlo ricevuto dal dispositivo.
sono alle primissime armi con WinDev quindi non ho trovato di meglio. comunque funziona.
avevo un errore uguale, ma io "cifro" la risposta per offuscare i dati che sono al interno di un JSON ma sono formattati in xml, comunque ho risolto lato cliente indicando che la risposta è ANSI string
Codice: Seleziona tutto
vResultJSON is a JSON = cMyResponse..Content
sFromServer is ANSI string
vParameters is Variant
sResp is ANSI string
//Assegno il JSON lo decodifico,Trasformo in Variabile e Poi in XML
sFromServer = cMyResponse..Content
vParameters = JSONToVariant(vResultJSON)
// Decodifico
sResp = Decode(vParameters.Resp,encodeBASE64NoCR)
Codice: Seleziona tutto
MyStringInUTF8 is Buffer = UTF8ToAnsi(sarrivato)
sstringadec is ANSI string =Decode(sarrivato,encodeBASE64NoCR)
sono alle primissime armi con WinDev quindi non ho trovato di meglio. comunque funziona.
Re: Windev Mobile REST
Grazie ci provo
Re: Windev Mobile REST
Scusa dimenticavo, attento perché il simulatore e il vero Android hanno comportamenti differenti a livello di codifica delle stringe.
Re: Windev Mobile REST
Risolto così, grazie
Codice: Seleziona tutto
bufNewAspetto is Buffer
sRisp is ANSI string
h is httpRequest
r is httpResponse
h.URL = "http://localhost:8026/Aspetto"
h.Method = httpGet
h.ContentType = "application/json"
h.Content = bufNewAspetto
r = RESTSend(h)
sRisp = r.Content
IF r.StatusCode = 200 THEN
Info(sRisp)
ELSE
Info("Errore", sRisp)
END
Re: Windev Mobile REST
Ottimo, ricordati di testarlo anche su un dispositivo vero perché il simulatore ha un comportamento differente.
Buon Lavoro
Buon Lavoro