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

Bibliothèques et frameworks PHP Discussion :

Appel à google api geoloc


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 33
    Points : 19
    Points
    19
    Par défaut Appel à google api geoloc
    Bonjour,

    j'ai besoin d'utiliser l'api de geolocalisation de google, "http://maps.googleapis.com/maps/api/geocode..." qui renvoie des données json en fonction d'une url appelée.

    J'ai donc tenté de faire comme dans pas mal d'exemples trouvés sur internet, notamment cet exemple :
    https://walkeprashant.wordpress.com/...g-curl-in-php/

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            $ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, $urlgmap); 
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    	curl_setopt($ch, CURLOPT_PROXYPORT,3128); 
    	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); 
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
    	$result = json_decode(curl_exec($ch)); 
    	curl_close($ch);
    Mon extension curl est bien activée dans php.

    Je suis certain que l'url que je passe est bonne puisqu'elle renvoie bien le fichier json quand je la teste en dur.


    J'ai essayé également de passer par "file_get_contents($url)" mais ça ne fonctionne pas je n'ai aucun résultat.

    Que pourrais-je faire ?

    Merci d'avance pour vos réponses.

    (C'est assez urgent svp)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Bonjour,

    Je sais pas trop de quelle manière tu veux l'utiliser... Mais comment ça tu n'as pas trouvé d'exemple?

    - https://www.codeofaninja.com/2014/06...ample-php.html
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Tu précise le port d'un proxy mais tu ne précise pas l'adresse.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Le code ci-dessous fonctionne parfaitement sur mon localhost :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            $ch = curl_init();
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($ch, CURLOPT_URL, $urlgmap);
            curl_setopt($ch, CURLOPT_REFERER, $urlgmap);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     
            $result = json_decode(curl_exec($ch));
     
            curl_close($ch);
    Mais ne fonctionne pas sur mon serveur de prod. Quel pourrait être le problème ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Essaye d'ajouter curl_error() pour voir si tu en apprends plus...

    Après plusieurs choses sont possibles : ton hébergeur bloque la requête, google bloque ton serveur, ...

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Ton code marche parfaitement. Attention: Google demande une clé d'API pour l'API geocoding. Le fait qu'on puisse avoir des résultats sans mettre de clé ne veut pas dire qu'ils ne bloqueront pas ton serveur (surtout s'il est sur un IP connu pour être non personnel).

    Est-ce que cUrl fonctionne pour d'autres sites sur ton serveur?

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/08/2013, 15h16
  2. [WebServices][WSDL] Utilisation (basique) de la Google API
    Par Rom_1 dans le forum Services Web
    Réponses: 5
    Dernier message: 07/07/2009, 22h55
  3. Comment appeler des API windows en C ?
    Par JuanLopez1966 dans le forum Windows
    Réponses: 6
    Dernier message: 22/12/2004, 10h34
  4. Appeler une API sans liaison avec une DLL
    Par mat.M dans le forum x86 32-bits / 64-bits
    Réponses: 10
    Dernier message: 13/07/2004, 02h22

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