IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Invoquer une url https://smsapi en jquery ou autre


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut Invoquer une url https://smsapi en jquery ou autre
    Bonjour, je cherche à intégrer une fonctionnalité sms à mon système (application web format pc et smartphone)
    J'ai la possibilité d'envoyé des sms via une ulr fourni par mon fournisseur
    En tapant la https://smsapi.free-mobile.fr/sendms...SS&msg=message dans la barre d'adresse, je sms est correctement envoyé.

    en revanche je n'arrive pas le faire avec jquery avec le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    					var fbURL="https://smsapi.free-mobile.fr/sendmsg";
     
    					$.ajax({
    						url: fbURL,
    						data: "user="+ID+"&pass="+PASS+"&msg="+message,
    						type: 'POST',
    						success: function (resp) {
    							alert(resp);
    						},
    						error: function(e) {
    							console.log(e);
    						}  
    					});
    et j'ai message ci-dessous :

    XMLHttpRequest cannot load https://smsapi.free-mobile.fr/sendmsg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 400.
    je soupçonne le problème le fait de faire le test depuis le localhost, (dixit message), pouvez vous me dire si vous avez une autre méthode pour faire appel à cette url.

    Cordialement

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    non le localhost est sans importance.

    L'erreur te dit deux choses :
    • La requête a été envoyée, mais a donné une réponse HTTP 400 (qui n'est pas très claire mais dit en gros que la requête est mal faite)
    • Le navigateur refuse de t'en dire plus à propos de la réponse obtenue, parce que le site https://smsapi.free-mobile.fr ne l'a pas autorisé à le faire et que tu pourrais t'en servir pour espionner le visiteur de ton site.


    Pour le premier point, en théorie on ne peut pas deviner ce qui ne lui plaît pas pour qu'il fasse un HTTP 400.
    Mais d'un autre côté, tu dis que ça marche quand tu fais un GET dans la barre de navigation du navigateur mais que ça marche pas si tu fais un POST avec jQuery.

    Bah... Peut-être qu'il faudrait faire un GET avec jQuery, non ? Ça sert à quoi d'avoir un paramètre data au lieu d'utiliser directement la même URL dans les deux cas ?

    Pour le deuxième point, il y a peut-être quelque chose à faire et peut-être pas. C'est normal que le navigateur refuse de te donner les informations s'il n'y a pas été autorisé.

    Normalement la documentation de l'API devrait dire quoi faire dans ce cas, mais je n'ai trouvé aucune documentation de ce truc. Personne ne sait pourquoi ça existe et comment tu es censé t'en servir. Il y a juste des bouts de code ici ou là dont il se trouve par hasard qu'ils marchent.

    Donc, faute d'une documentation qui dit quoi faire, il va falloir y renoncer : tu ne peux pas l'appeler avec AJAX. Enfin, ça devrait marcher quand même mais le navigateur déclenchera une erreur, que ça marche ou pas. Il refusera de te le dire. Donc, pas d'AJAX.

    Mais tu pourrais faire la requête côté serveur au lieu de le faire côté navigateur, par exemple en PHP si ton site est en PHP. Dans ce cas pas de problème.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Bonjour,

    merci de votre réponse je vais essayer le GET et vous donne le résultat
    et je vais voir si free à donné une documentation sur sont API
    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Fonctionnement des notifications SMS
     
    L’envoi du SMS se fait en appelant le lien suivant : https://smsapi.free-mobile.fr/sendmsg avec les paramètres suivants :user : votre login
    •	pass : votre clé d’identification générée automatiquement par notre service
    •	msg : le contenu du SMS encodé sous forme d’url (Percent-encoding)
     
    Exemple : Envoyer le message "Hello World !" sur votre mobile :
    https://smsapi.free-mobile.fr/sendmsg ?user=10606753&pass=cle_identification&msg=Hello%20World%20 !
     
    Vous pouvez également, si vous le préférez, envoyer les paramètres en POST. Dans ce cas, le contenu du message n’a pas besoin d’être encodé.
     
    Le code de retour HTTP indique le succès ou non de l’opération :
     
    •	200 : Le SMS a été envoyé sur votre mobile.
    •	400 : Un des paramètres obligatoires est manquant.
    •	402 : Trop de SMS ont été envoyés en trop peu de temps.
    •	403 : Le service n’est pas activé sur l’espace abonné, ou login / clé incorrect.
    •	500 : Erreur côté serveur. Veuillez réessayez ultérieurement.
    Je vais essayé un autre chemin mais si vous avez une idée, je suis preneur

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hmm. Si l'API est censée accepter les POST, je ne vois pas trop ce qui ne lui plaît pas avec ton code pour faire une erreur 400, censée signifier qu'il manque un paramètre.
    Personnellement, j'aurais quelques doutes concernant l'affirmation qu'il n'y a pas besoin d'encoder en POST : ah ouais, même les & il y a pas besoin ?

    Ça vaudrait la peine de regarder ce que dit la trace des échanges réseau dans la console de développement, pour voir ce que l'API répond réellement et que le navigateur refuse de dire à ton site.

    Mais bon, au bout du compte, cette doc ne dit absolument pas que tu peux faire de l'AJAX sur cette API, donc c'est pas fait pour. Il vaut mieux faire l'appel en PHP ou quel que soit le langage de ton site.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 5
    Par défaut
    Bonjour, à tu tenter de mettre ce code dans la section data ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {
    user:'TONID',
    pass:'TONPASSWORD',
    msg:'TONMSG'
    }
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $.get("https://smsapi.free-mobile.fr/sendmsg",
         { user: TONID, pass:TONPASSWORD, msg: TONMSG },
         function(){
          alert("lol")
         }
    );

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/08/2011, 15h12
  2. [XL-2007] Téléchargement d'un fichier depuis une URL (https)
    Par Markorod dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/08/2010, 12h00
  3. Ouvrir une url avec un script Jquery
    Par joker92 dans le forum jQuery
    Réponses: 1
    Dernier message: 26/11/2009, 01h54
  4. Réponses: 2
    Dernier message: 11/09/2008, 21h35
  5. Réponses: 1
    Dernier message: 24/05/2008, 05h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo