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 :

Question PHP et CURL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Question PHP et CURL
    Bonsoir,

    Voici ma question.
    J'ai les données cURL suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    curl -X 'GET' \
      'https://api.ddi.michelin.com/vehicle-selector/v2/find-version-by-plate?licensePlate=EE-XX-TS&country=fr' \
      -H 'accept: application/json' \
      -H 'Accept-Language: fr-fr' \
      -H 'Authorization: Bearer Token
    Comment faire pour les utiliser dans un script PHP afin qu'elles me retourne l'URL construite et surtout le résultat sous format JSON ?

    Merci d'avance pour votre aide. N'hésitez pas si je n'ai pas été assez clair.

    Samuel PATARIN

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 135
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 135
    Points : 8 302
    Points
    8 302
    Billets dans le blog
    17
    Par défaut
    Je ne connais pas cURL (=> http://php.net/curl ), alors je te propose d'utiliser simplement file_get_contents() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $url = 'https://api.ddi.michelin.com/vehicle-selector/v2/find-version-by-plate?licensePlate=EE-XX-TS&country=fr';
    $token = '.....';
    $context = stream_create_context(['http' => ['header' => ["Authorization: Bearer {$token}"]]]);
    $result = file_get_contents($url, false, $context);
    $result = json_decode($result);
    Les options utilisables dans le contexte http => https://www.php.net/manual/fr/context.http.php
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Par défaut
    Tu peux lancer la commande curl avec le flag --libcurl monfichier.c pour générer le code C correspondant.
    Les appels a libcurl seront les même en PHP.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Suite de ma question
    Bonjour,

    J'ai écrit le code suivant mais il ne me retourne aucun résultat....une idée ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    $url = 'https://api.ddi.michelin.com/vehicle-selector/v2/find-version-by-plate?licensePlate=EE-028-TS&country=fr';
    $token = 'eyJraWQiOiJxMXl2MzFuaXE2cWVkYzFwMHQiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBfbmFtZSI6InRlc3RfdmVoaWN1bGUiLCJpc3MiOiJodHRwczpcL1wvYXBpLmRkaS5taWNoZWxpbi5jb21cL2RkaVwvYXV0aCIsImV4cCI6MTY0NDQyNDI5NCwiaWF0IjoxNjQ0NDE3MDk0LCJjbGllbnRfaWQiOiJKQ0VjNVZ2MHdOZ0cyelozeFdlekROY0Jkckd5MXR1QiIsImRldmVsb3Blcl9pZCI6Im1pY2hlbGluLXByb2RAQEBjZjQyN2JhZS03NmM1LTQ4MTUtYjI1Ni1kOWM3ZDFmZTM3ZTYiLCJqdGkiOiI2NjgzZTJkYS1jOWQ2LTQwZjQtYmM4NS1iZjRkNGI5NGU1MDkifQ.qqzsg3LvH_VSfHrd3c2XcB3O80WT-AmjfhffEOBcAC_nvgwY8GF9GvJtW-WO47K8taBVdu9SCTOi0Gek8x9BwlXhEjufAoJAZ0Of76rYWhtD9nD7cgwV7kLcaWixULEHWOOY5VglJKaoJV-NwgTPHm-cT8zWzxF8kUryySXovxZXadyTYLq_rr8X8cZMd2LNVpW46OyKqUaczpYOif1I5MhXQjGIDeFFoMPA8xNrVyPsRmcRCvZMb_bnjI7liLK_dh_qozH9CPdrZXNqvWTu9H-juvwoGZC4C7rCLuorxTlHQJamnLGpaXGGXKVs45FYN2rn2LPwUiv8i9hpl9RF9Q';
    $context = stream_context_create(['http' => ['header' => ["Authorization: Bearer {$token}"]]]);
    $result = file_get_contents($url, false, $context);
    $parsed_json = json_decode($result);
     
    $marque = $parsed_json->{'records'}[0]->{'brand'};
     
    echo $marque;
    Samuel PATARIN

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 250
    Points : 15 553
    Points
    15 553
    Par défaut
    activez l'affichage des erreurs php et vous verrez le message d'erreur.

  6. #6
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Activation des erreurs PHP
    Bonjour,

    Pouvez vous m'indiquer comment activer les erreurs php car je ne sais pas comment faire.

    Merci d'avance

    Samuel

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2011
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Erreurs PHP
    J'ai réussi à activer les erreurs PHP et j'ai le message d'erreurs suivant :

    Warning: file_get_contents(https://api.ddi.michelin.com/vehicle-selector/v2/find-version-by-plate?licensePlate=EE-028-TS&country=fr): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /homepages/19/d780297544/htdocs/vehicule/traitement_immatriculation_bis.php on line 53

    Pouvez vous m'aider à la résoudre.

    Samuel

  8. #8
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 758
    Points : 2 995
    Points
    2 995
    Par défaut
    Bonjoure

    Personnellement, je n'utiliserais pas file_get_contents() qui devrait n'être utilisé que pour un accès fichier et pas un accès URL. Il est parfaitement exact que file_get_contents peut utiliser une URL mais est-ce vraiment la bonne fonction pour cela ? Il me semble que cette fonction est bloquée dès lors que allow-url-fopen est sur false; voir https://www.php.net/manual/en/filesy...llow-url-fopen

    PHP nous mets à disposition des fonctions curl: https://www.php.net/manual/de/book.curl.php

    Pour ton problème, la source de l'erreur peut-être multiple mais, je vois que tu hardcodes un token et là, cela me surprend : un token est généré à la volée, tu contactes ton fournisseur de données "siouplait donne-moi un token m'autorisant à ...", il t'envoie un token généré à ce moment-là et tu le recontactes "voilà, mon token est ... et j'aimerais ceci ...".

    Je crains que ta façon de procéder est incorrecte du coup.

    Comme Mathieu le suggère, affiche toutes les erreurs; ne travaille pas en aveugle mais affiche tout ce que tu reçois. Voir https://www.php.net/manual/en/functi...-reporting.php

    [EDIT]
    HTTP/1.1 500 Internal Server Error in /homepages/19/d780297544/htdocs/vehicule/traitement_immatriculation_bis.php ==> à toi d'aller voir le fichier et la ligne en question. Va aussi voir ton fichier d'erreur Apache

    Note: tu nous a donné un token, tu nous a donné une plaque de voiture ==> attention à ne pas communiquer des données sensibles.
    [/EDIT]
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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

Discussions similaires

  1. [Conception] Question PHP pour formulaire
    Par julien8craft dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 31/07/2006, 18h00
  2. [MySQL] question php pour formulaire
    Par julien8craft dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/07/2006, 17h42
  3. [SQL] 2 questions PHP/SQL
    Par Misoss dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 22/06/2006, 16h29
  4. [Question] Php - MySQL
    Par Badaboumpanpan dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/06/2006, 17h55

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