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

IGN API Géoportail Discussion :

Fonction de recherche derrière un proxy


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 33
    Points
    33
    Par défaut Fonction de recherche derrière un proxy
    Bonjour à tous,

    Je cherche à utiliser les fonction de recherche par adresse et par lieux.
    J'ai bien mis en place un proxy en CGI pour lequel j'ai autorisé "wxs.ign.fr".

    Mon problème (je crois) est que mon serveur doit passer par un proxy (physique) pour accéder à internet. J'ai configuré le proxy CGI pour qu'il passe par le proxy physique lorsqu'il doit accéder à internet.

    J'ai essayé de naviguer sur 'http://google.fr' en passant par le proxy.cgi et ca marche sans problème.

    Hors lorsque j'envoi une requête de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://mon_serveur_web/cgi-bin/proxy.cgi?url=http%3A%2F%2Fwxs.ign.fr%2Fgeoportail%2Fgazetteer%2FOpenLSPOST%3Fgppkey%3DXeHdkjaF3jEHyaxpWcbNKEt080kAAAAAAJhDw3nyDZip_6D0AAABKThHlc8AAAAAAlgAAQENzIOB9QOp4Ud_odliy7NbY3bAuwSkTdkBKkJsqekozuF08bkVgf4t_IeHk9GSoxnXVFdanLUJq4DDNAAAQzQAAMK0AABCtAAA
    J'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Some unexpected error occurred. Error text was: HTTP Error 403: Interdit
    Je suppose que cela vient du fait que ma requête sort sur internet en passant par le proxy et c'est donc le nom d'hôte du proxy physique (différent du nom d'hote du serveur web et donc du contrat) qui est rejeté par les serveurs de l'ign...

    Est-ce bien cela le problème ? et si oui y-a-t'il un moyen de le contourner ...?

    Merci d'avance !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Il me semble que c'est le referer de l'en-tête http qui est testé par le serveur.
    Donc peut importe le proxy, il faut que le referer soit celui du contrat ou 'localhost' ou '127.0.0.1'.

    Peut être un problème de jeton ou alors de contrat qui ne peut pas utiliser les toponymes ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    En remplaçant google par http://www.adresseip.com/, on peut obtenir l'adresse ip de sortie du proxy.
    Un coup de whoisIP (http://www.ixus.fr/net/whoisip.php par exemple ) permet d'avoir le nom dns.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    Merci pour vos réponses.

    Quand je teste un site comme "http://mon-ip.com" via le proxy.cgi c'est bel et bien l'ip du proxy physique qui apparait (logique c'est le but d'un proxy...) et non pas celle de mon serveur web (adresse ip locale)

    Je n'arrive pas tester le "referrer" comment faire pour l'identifier ?

    P.S.: avec ma config si j'essaye d'accèder à mon serveur web via "localhost" ou "127.0.0.1" l'api se charge bien mais je n'ai aucun fonds qui se charge... Je pense que la encore c'est un problème de différence entre l'hote déclaré dans le contrat et celui apparant : celui du proxy physique...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    Je viens de tenter de créer un contrat avec l'adresse de mon proxy, l'api se charge bien mais je n'ai aucun fonds qui apparrait et le service de recherche tourne en rond sans même envoyer de requête...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut La ligne de commandes est mon amie ...
    Pour vérifier le bon fonctionnement d'une clé et d'un proxy, j'utilise ces quelques lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      CLEF=6767854512754535096;	REFERER=atlasnw.free.fr
      printf 'gppkey=' > gppkey.txt
      curl -e ${REFERER} http://jeton-api.ign.fr/getToken?key=${CLEF}\&output=raw>>gppkey.txt
      . gppkey.txt
      POST='<xls:XLS xmlns:xls="http://www.opengis.net/xls" version="1.0"><xls:RequestHeader sessionID=""/><xls:Request methodName="GeocodeRequest" version="1.0" requestID="" maximumResponses="50"><xls:GeocodeRequest><xls:Address countryCode="FR"><xls:freeFormAddress>Tatoux</xls:freeFormAddress></xls:Address></xls:GeocodeRequest></xls:Request></xls:XLS>'
      curl --dump-header h1.txt --trace trace1.txt -d "$POST" -H "Content-Type: text/xml" -e ${REFERER} http://wxs.ign.fr/geoportail/gazetteer/OpenLSPOST?gppkey=$gppkey
    Ma clé est à priori valide, il est possible d'en utiliser/usurper une autre.
    Si cela ne fonctionne pas, c'est que le proxy fait des siennes: remplacement de certains champs et autres traitements ...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    Merci pour ces infos mga_geo,
    comment puis je tester ce code sur mon système ...? J'avoue ne pas reconnaitre le langage utilisé...

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut Bash ...
    C'est un des shells unix. Je l'utilise aussi sous Windows plutôt que la ligne de commandes et ceci grâce à MinGW/Msys.

    Mais il doit être possible de l'adapter en ligne de commandes DOS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set CLEF=6767854512754535096
    set REFERER=atlasnw.free.fr
    .
    .
    .
     curl --dump-header h1.txt --trace trace1.txt -d "%POST%" -H "Content-Type: text/xml" -e %REFERER% http://wxs.ign.fr/geoportail/gazetteer/OpenLSPOST?gppkey=%gppk%
    Il faut avoir télécharger curl et le rendre accessible.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    ok, j'ai rajouté la définition du referrer dans le proxy.cgi et tout fonctionne comme il faut ;-)

    Merci !

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

Discussions similaires

  1. Fonction de recherche de ligne...
    Par Zenol dans le forum Langage
    Réponses: 6
    Dernier message: 05/12/2005, 20h26
  2. fonction de recherche et recopie
    Par mavean dans le forum Access
    Réponses: 2
    Dernier message: 20/11/2005, 13h24
  3. Adapter la fonction de recherche de Plone/Zope
    Par StarNab dans le forum Zope
    Réponses: 2
    Dernier message: 07/04/2005, 17h04
  4. Connexion derrière un proxy pour Firebird ???
    Par .:morgoth:. dans le forum Connexion aux bases de données
    Réponses: 8
    Dernier message: 17/02/2005, 10h32
  5. [String] Fonction de recherche de caractères numériques
    Par david71 dans le forum Général Java
    Réponses: 10
    Dernier message: 16/02/2005, 13h05

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