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

Langage PHP Discussion :

Curl et récupération des données php


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Curl et récupération des données php
    Bonjour,

    On a acheté des capteurs d'une société. la société nous a donné l'accée aux api permettant de récupérer les données unitaires des capteurs. on m'a donnée la clé d'api .

    j'ai mis le curl -H "authorization: clé"site sur l'invite de commande et ça m'affiche les données des capteurs .

    Je veux récupérer les données qu'on m'affiche et les enregistrer ou les afficher sur une page php.

    Comment faire.

    Merci beaucoup.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,
    En PHP pour ce faciliter la vie, on utilise la Lib Guzzle ou HttpClient de Symfony.

    Typiquement en HttpClient je fais comme ceci (sur base de votre exemple) :

    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
     
     
    // j'instancie le client
    $client = HttpClient::create();
     
     
    // je crée un ensemble d'options, avec le token
    $options = [
               'headers' => [
     
                    'Authorization' => 'Bearer ' . $token
            ];
    // j'appelle mon API, avec le token en options
    $response = $client->request('GET', 'Http://Maroute.quelqueChose', $options);
    // j'affiche le résultat sous forme de tableau
    dd($response->toArray());

  3. #3
    Futur Membre du Club Avatar de guilderoy67
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2020
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Et si tu ne veux pas utiliser la lib comme expliqué par MaitrePylos tu peux le faire directement en PHP de cette manière :

    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
     $curl = curl_init();
     
    $auth_data = array(
    	'id_capteur' 		=> 'xxxxxxxxxx',
    	'secret' 	=> 'btHTWVNMUATHEnF-XXX-2nQabKcKVo3VXtU'
    );
     
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $auth_data);
    curl_setopt($curl, CURLOPT_URL, 'https://votreapi.fr/oauth/token');
    $result = curl_exec($curl);
     
    if(!$result){die("Erreur lors de l'appel ");}
    curl_close($curl);
    echo $result;
    Cordialement,

  4. #4
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    oui , j'ai mis dans un fichier php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $client = HttpClient::create();
     
     
    // je crée un ensemble d'options, avec le token
    $options = ['headers' => ['Authorization' => 'monautorisation' . $token]];
    // j'appelle mon API, avec le token en options
    $response = $client->request('GET', 'siteAPI', $options);
    // j'affiche le résultat sous forme de tableau
    dd($response->toArray());
    ?>
    me donne
    Fatal error: Uncaught Error: Class 'HttpClient' not found in C:\wamp64\www\test_curl\index.php on line 2
    ( ! ) Error: Class 'HttpClient' not found in C:\wamp64\www\test_curl\index.php on line 2

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Citation Envoyé par mim2284 Voir le message
    Fatal error: Uncaught Error: Class 'HttpClient' not found in C:\wamp64\www\test_curl\index.php on line 2
    ( ! ) Error: Class 'HttpClient' not found in C:\wamp64\www\test_curl\index.php on line 2
    Bah, va falloir initialiser un minimum votre projet, notament en faisant à la racine un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     composer require symfony/http-client
    Toutes la doc ici : https://symfony.com/doc/current/comp...tp_client.html

    Sinon, l'exemple @guilderoy67 est natif et devrais fonctionner aussi bien

  6. #6
    Membre à l'essai
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Merci

    C'est resolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/01/2017, 17h53
  2. Récupération des données via curl
    Par nymus7 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 07/02/2016, 16h18
  3. [PHP 4] Récupération des données probleme depuis PHP 5
    Par paolo76 dans le forum Langage
    Réponses: 18
    Dernier message: 09/11/2011, 18h46
  4. Réponses: 5
    Dernier message: 21/02/2011, 15h12
  5. [SQL] récupération des données par le php
    Par soumia1988 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/09/2007, 15h57

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