Récupéré l'info pour l'utiliser

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupéré l'info pour l'utiliser

Re: Récupéré l'info pour l'utiliser

par Basile275 » 15 avr. 2022, 08:32

Bonjour et désolé de remonter le sujet, mais ces infos me seront d'une grande aide. C'est justement ce qu'il me faut.

Merci à vous pour le partage et pour tous ces liens.

Cdlt, Basile

Re: Récupéré l'info pour l'utiliser

par Belta » 05 févr. 2020, 14:18

Bonjour , et merci pour ta réponse au sujet :)

en gros tout ce qui me faut c'est exécuter ( http://api.fr/sss/api.php?message= [PRIX RECUPRER DU BTC ] ) mes quesque je doit mettre a la place de [PRIX RECUPRER DU BTC ] pour récupérer l'info du prix du btc donnée plus haut dans la page ?

si je récupéré cette info le iframe alors exécutera l'url qui enverra l'émail dans une api externe .


:)

Re: Récupéré l'info pour l'utiliser

par @rthur » 05 févr. 2020, 14:14

Je suis pas sûr d'avoir compris tout ce que tu as fait.

Si c'est juste pour envoyer le cours du bitcoin par mail toutes les 30 minutes, alors voilà comment je ferrais :
- file_get_contents() sur l'url https://min-api.cryptocompare.com/data/ ... &tsyms=EUR pour récupérer le cours
https://php.net/file_get_contents

- mail() pour envoyer le contenu récupéré par mail
https://php.net/mail voir l'exemple #2

- Pour l'envoi toutes les 30 minutes, il suffira d'appeler ton script PHP toutes les 30 minutes, cela se fait via les taches planifiées de Windows ou en utilisant des "Cron jobs" sous Linux. Demande à ton hébergeur si il te fournit ce service.
A défaut il y a quelques services gratuits qui peuvent le faire :
https://cron-job.org/en/
https://www.easycron.com
Ou en version pro : https://www.setcronjob.com

Récupéré l'info pour l'utiliser

par Belta » 05 févr. 2020, 14:05

Bonjour ,

j'ai un petit probleme surement tres simple que j'arrive pas a résoudre .

ATTENTION je débute depuis tres peux dans la bidouille de code je suis en aucun cas développeur c'est pour ca que je viens demander un coup de main :)

en gros j'aimerais recevoir par émail une réponse de ma page toutes les 30 Minutes

cette page donne comme information le cours du BTC en direct j'ai recupere un morceau de code qui me permet de voir le cours en temps reel sur la page mes j'aimerais l'utiliser pour un envoi d'email sur un API toutes les 30 mnt

voici la partie intéressant du code :
<body>
 <center> <h1 id="monH1">Cours du Bitcoin en temps réel</h1>
  </center>
  <div id="bitcoin"><div id="cours"></div><div id="horo"></div></div>
  <div id="info"></div>
  <div id="source">R2D2</div>
  
<script type="text/javascript">
function formatMontant(m) {
  var intlN=new Intl.NumberFormat();
  return intlN.format(m);
}
/* Récupération des données de cours du Bitcoin */
function getCours() {
  /* Appel AJAX vers cryptocompare.com */
  var ajax=new XMLHttpRequest();
  console.log("readyState après new : "+ajax.readyState);
  /* Détection de l'avancement de l'appel */
  ajax.onreadystatechange=function() {
    console.log("readyState a changé et vaut : "+ajax.readyState)  
  }  
  /* Détection de la fin de l'appel */
  ajax.onload = function() {
    console.log("Appel AJAX terminé");
    console.log("  status : "+this.status);
    console.log("  response : "+this.response);    
    if (this.status == 200) { /* Le service a bien répondu */
      try {
        var json=JSON.parse(this.response); // Convertir le retour JSON
      } catch(err) {
        console.log("Retour JSON incorrect");  
        return false;  
      }
      /* Vérifier que le JSON de retour contient bien la propriété EUR */
      if (json.EUR) {
        var eur=formatMontant(json.EUR);  
        var dt=new Date();
        document.getElementById("cours").innerHTML=eur+" &euro;";
        document.querySelector("div#horo").innerHTML=" "+dt.toLocaleString();
      } else {
        console.log("Retour du cours incorrect");  
      }
    }
  }
  /* Détection du timeout */
  ajax.ontimeout=function() {
    console.log("Le service n'a pas répondu à temps : nouvel essai dans 5 sec");     
    /* Relancer l'appel 5 secondes plus tard */
    setTimeout("getCours()", 5000); 
  }
    
  /* Préparation de la requête et envoi */
  var url="https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=EUR";
  ajax.open("GET", url, true);
  ajax.timeout=1000; /* Délai d'expiration à 1 seconde */
  ajax.send();
}
/* Démarrage de l'appel */
window.onload=function() {
  getCours();
  setInterval("getCours()", 1000);
}


</script><iframe src="http://api.fr/sss/api.php?message= [PRIX RECUPRER DU BTC ] " width="0" height="0" frameborder="0" scrolling="no"></iframe>

.
Donc la partie que j'ai ajouter dans le code c'est le IFRAME api qui fonctionne chez moi que j'ai bidonné dans l'exemple forcement vue que j'ai pas forcement envie que tout le monde utilise mon émail pour envoyer des email ^^ :D
</script><iframe src="http://api.fr/sss/api.php?message= [PRIX RECUPRER DU BTC ] " width="0" height="0" frameborder="0" scrolling="no"></iframe>
Donc je doit trouver un moyen que la réponse du site sur le cours du btc remplace { [PRIX RECUPRER DU BTC ] } dans l'api

Si vous avez une idée simple est efficace je suis preneur :)

merci beaucoup pour votre aide dans vos futur réponses ! :)