Retourner à l'accueil du site  
Design:
Accueil
Actu Freenews
FAQ
Forums
Glossaire
Etat du réseau
Dossiers
Dialogue en direct
Liens ADUF
Newsletter
Livre d'or
Statistiques
A propos de l'ADUF
Petit souci API SMS
Aller en bas de la page
ADUF Index du Forum » Technique Free Mobile
Répondre au sujet Voir le sujet précédent : Voir le sujet suivant 
MessagePosté le: Mardi 20 Juillet 2021 14:54:29 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
sauce
(Auteur du topic)

Intéressé
Intéressé

Hors-ligne

Inscrit le : 23 Aoû 2006
Messages : 55
Sexe :
Ville : Chateauneuf De Galaure

Forfait : Freebox IP/ADSL Max





Bonjour,

Je suis en train de faire un petit script pour utiliser l'API SMS de Free Mobile mais j'ai un petit souci avec les caractères spéciaux.

Dans l'ensemble ça fonctionne plutôt bien mais il doit y avoir un petit bug côté décodage d'URL chez Free.

Requête GET qui fonctionne (les caractères spéciaux sont bien décodés) :

Code:
https://smsapi.Free-mobile.fr/sendmsg?msg=n%C2%B03%0AHeure%20%3A%2020%20Juil%202021%2012%3A04%3A54%20CEST&pass=xxx&user=xxx


Requête qui ne fonctionne pas (mon "n°3" du début est transformé en n3 le "°" a dégagé !)

Code:
https://smsapi.Free-mobile.fr/sendmsg?msg=cn%C2%B03%0AHeure%20%3A%2020%20Juil%202021%2012%3A04%3A54%20CEST&pass=xxx&user=xxx


Bien sûr j'ai testé en remplaçant les %20 par des "+" c'est pareil.
Entre les 2 requêtes j'ai juste rajouté le "c" en première place !!!!

De plus la deuxième requête fonctionne si j'enlève le "CEST" de la fin ! C'est du n'importe quoi n'est-ce pas ?!

A mon avis petit bug du côté de Free non ?

C'est très embêtant car c'est aléatoire. Si le texte change un petit peu ça passe.

Pouvez-vous tester de votre côté si vous avez le même problème avec les 2 requêtes du dessus ?

Cordialement,

Eric
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Dimanche 25 Juillet 2021 11:05:01 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
abel99
Connaisseur
Connaisseur


Hors-ligne

Inscrit le : 18 Jan 2005
Messages : 33808
Sexe :
Ville : Paris 05

Forfait : Freebox Optique





As-tu essayé en mettant le texte entre guillemets au lieu de l'encoder ?
Par exemple : msg="n°1 Nº2 essai du 25/07/2021" passe sans problème
(le SMS reçu comporte aussi les guillemets).

Il y a 2 caractères "degrés" différents :
176 B0 °
186 BA º
mais ça ne passe pas si on encode %B0 ou %BA Crying or Very sad
Les caractères au-delà de 128/80 ne sont pas reçus si message encodé alors qu'ils passent si entre guillemets.

Par exemple, si j'encode dans le message les 32 derniers caractères Ascii :
Code:
msg=%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF

le message est bien envoyé mais le SMS reçu est vide.

Si j'utilise les guillemets :
Code:
msg="áâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"

la chaîne de caractères est bien reçue
_________________
Pour valider la localisation d'une ZMD ou d'un NRA/NRO en IPV6,
se connecter sur https://freepon.lafibre.info/

Mini 4k fibre P2P PES75
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Lundi 26 Juillet 2021 09:02:32 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
sauce
(Auteur du topic)

Intéressé
Intéressé

Hors-ligne

Inscrit le : 23 Aoû 2006
Messages : 55
Sexe :
Ville : Chateauneuf De Galaure

Forfait : Freebox IP/ADSL Max





Bonjour,

Oui mais dans mon exemple il n'y a qu'une seule lettre qui change (le "c" au début du message) !

Donc l'API doit quand même avoir un souci dans sa fonction de décodage d'URL.

Il y a des standards pourquoi ne pas les respecter tout simplement ?

De plus dans l'interface de Free ils disent que l'on peut utiliser une requête POST ça permet de s'affranchir de l'encodage des caractères mais en POST ça ne fonctionne pas du tout.
Cela fonctionne si on passe du JSON (absolument pas indiqué sur leur page) mais toujours ce problème d'encodage.
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Jeudi 29 Juillet 2021 07:55:09 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
abel99
Connaisseur
Connaisseur


Hors-ligne

Inscrit le : 18 Jan 2005
Messages : 33808
Sexe :
Ville : Paris 05

Forfait : Freebox Optique





Un détail : que vient faire le caractère hexa/décimal C2/194 "" en Ascii étendu (aussi indiqué "Â" en ISO 8859-1 ( Latin - 1 ) dans ton message ?
http://www.table-ascii.com/

As-tu essayé de ne mettre que le caractère 0A/10 (Line Feed) en hexa et les autres en caractères normaux, y compris les espaces ?
_________________
Pour valider la localisation d'une ZMD ou d'un NRA/NRO en IPV6,
se connecter sur https://freepon.lafibre.info/

Mini 4k fibre P2P PES75
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Jeudi 29 Juillet 2021 08:15:46 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
sauce
(Auteur du topic)

Intéressé
Intéressé

Hors-ligne

Inscrit le : 23 Aoû 2006
Messages : 55
Sexe :
Ville : Chateauneuf De Galaure

Forfait : Freebox IP/ADSL Max





Le message dans l'URL est encodé en UTF-8 donc ce n'est pas C2 c'est "C2 B0" le symbole degré.

Mais ça fonctionne puisque le premier message passe nickel.
Je rajoute juste un "n" au début ça foire.

Oui j'ai tout essayé et ça foire toujours à un moment.
Voir le profil de l'utilisateur Envoyer un message privé
MessagePosté le: Jeudi 29 Juillet 2021 10:28:13 Numéro présent dans le profil, mais problème de récupération des caractéristiques de la ligne Répondre en citantReporter le post à l'équipe de modération
sauce
(Auteur du topic)

Intéressé
Intéressé

Hors-ligne

Inscrit le : 23 Aoû 2006
Messages : 55
Sexe :
Ville : Chateauneuf De Galaure

Forfait : Freebox IP/ADSL Max





Même en JSON et en POST avec un petit programme PHP ça fait la même chose !

Code:
<?php
$user = "xxx";
$pass = "xxx";
$url = "https://smsapi.Free-mobile.fr/sendmsg";

$msg_ok = "n°3\nHeure : 20 Juil 2021 12:04:54 CEST";
$msg_pas_ok = "c" . $msg_ok;

$payload = json_encode(array( "user"=> $user, "pass" => $pass, "msg" => utf8_encode($msg_ok)));
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=UTF-8'));
$data=curl_exec($ch);
curl_close($ch);

$payload = json_encode(array( "user"=> $user, "pass" => $pass, "msg" => utf8_encode($msg_pas_ok)));
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json; charset=UTF-8'));
$data=curl_exec($ch);
curl_close($ch);


?>


Si c'est pas un problème côté Free franchement...
Voir le profil de l'utilisateur Envoyer un message privé
 ADUF Index du Forum »  Technique Free Mobile Aller en haut de la page
Toutes les heures sont à l'heure légale française  
Page 1 sur 1  

  
Sauter vers:  
Répondre au sujet  


Déclaration CNIL n°1012304 Partiellement basé sur phpBB © 2001, 2006 phpBB Group Traduction par : phpBB-fr.com