PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → webmail et httprequest
webmail et httprequest
Débuté par fdu, 28 déc. 2020 09:50 - 1 réponse
Posté le 28 décembre 2020 - 09:50
Bonjour ,

La fonction suivante fonctionne en debug mais pas en déployer . Est ce que quelqu'un aurait une idée . Merci d'avance

PROCÉDURE FctGlb_Pharos_Login()
sAccess_token est une chaîne
sTmp est une chaîne ANSI
sJZon est une chaîne ANSI = [
{
"access_token": "[some_access_token]",
"expires_in": 300,
"token_type": "Bearer"
}
]


vResultat est un Variant
LaCmd est un httpRequête
cMaRéponse est un httpRéponse
LaCmd..URL = ChaîneConstruit("http://%1/token",gsIpPharos)
LaCmd..Méthode = httpPost
LaCmd..ContentType = typeMimeJSON
sTmp = ChaîneConstruit("{%1user%1:%1%2%1,%1password%1:%1%3%1}",Caract(34),gsUser,gsPassword) // {"user":[username], "password":[password]}
LaCmd..Contenu = sTmp
cMaRéponse = HTTPEnvoie(LaCmd)

SI ErreurDétectée ALORS
Erreur(ErreurInfo(errComplet))
gsAccess_token =""
SINON
vResultat = JSONVersVariant(cMaRéponse..Contenu)
SI vResultat.access_token..Existe = Vrai ALORS
sAccess_token = vResultat.access_token
SINON
sAccess_token =""
FIN
FIN
RENVOYER sAccess_token
Membre enregistré
397 messages
Popularité : +13 (13 votes)
Posté le 30 décembre 2020 - 10:06
Bonjour,

Un peu plus d'informations serait bienvenue, notamment :
- si vous avez une erreur qui s'affiche (passage dans le "SI ErreurDétectée ALORS ...", et si oui, quel est le message
- sinon, ce que vous avez dans dans cMaRéponse..Contenu

Enfin, je ne sais pas quel est l'intérêt de ce ChaineConstruit() illisible ? Il serait judicieux de moderniser ce bout de code, soit en passant par une variable de type JSON, soit par un variant puis un VariantVersJSON(). Construire à la main une chaine JSON nécessite de prendre plusieurs précautions (échappement des caractères dangereux, encodage des caractères unicode spécifiques, etc) qui sont totalement ignorées ici, mieux vaut donc s'en référer aux fonctions qui existent en standard.