Bonjour,
J'ai un site qui tourne sous Laravel et avec lequel j'affiche une carte via la librairie Leaflet.
Ceci fonctionne très bien mais lorsque j'essaie de faire une requête CURL vers une adresse de Nominatim (OpenStreetMap) pour obtenir les coordonnées d'une adresse, j'ai un timeout qui me bloque.
Si je fais la même requête vers Google API Geocoding, cela fonctionne.
Je comprends bien que les serveurs mutualisés d'OVH ne sont pas "grand" ouvert vers l'extérieur mais pourquoi ne pas laisser passer un service API tel que celui d'OpenStreetMap ? (a contrario de Google, qui n'est pas aussi précis qu'OpenStreetMap, je suis d'accord que c'est sans doute Google le plus utilisé mais avoir la possibilité d'utiliser des services libres ne devraient pas être bloquant).
Plus tard dans mon site, je devrais rajouter des requêtes CURL vers les réseaux sociaux (Facebook et Twitter), j'espère qu'eux ne seront pas bloqués, non plus ?
Avez-vous des solutions à me proposer ? Ou sinon dois-je prendre un serveur VPS pour m'affranchir de cette contrainte ?
Bien à vous,
Requête CURL vers Nominatim (OpenStreetMap)
Sujets apparentés
- [RESOLU] Server unable to read htaccess file, denying access to be safe
25661
24.11.2019 19:11
- Version php 7.0 sur Ovh mais php 5.4.45 sur mon wordpress
22909
10.01.2019 11:14
- Comment récupérer son mot de passe phpmyadmin ?
19830
14.11.2016 10:32
- Changer la version d'une base de donnée en mutualisé
19726
22.12.2016 11:46
- Variable upload_max_filesize plus grande que post_max_size
19680
11.06.2017 16:01
- Résiliation hébergement+domaine
15429
11.09.2018 20:28
- Résiliation hébergement
14560
27.07.2018 10:39
- Transfert hebergement et domaine .fr entre client OVH ?
13746
21.12.2016 15:10
- Ne supporte pas FTP sur TLS
13721
11.12.2018 18:48
- Nouvelle fonctionnalité : SFTP pour tous
13420
06.01.2017 14:50
Facebook et twitter ne sont pas bloqués, mais tu es limité à quelques centaines de requêtes par tranches de 5 minutes.
Après, si @vcasse ou @Ludo.H (ou un autre) passe par là, il pourra voir pour OpenStreetMap.
Bonjour,
est-ce qu'un jour cette appel API à déjà fonctionné ?
Car si oui c'est peut être que malheureusement l'une des IPs de sortie du cluster a été blacklisté.
Si cela n'a jamais fonctionné c'est peut être qu'il ont déjà quelques IPs en blackliste.
Cordialement, janus57
Je vous confirme que cet api fonctionne avec aussi des restrictions mais que je ne dépasse pas puisque je mets mes résultats en cache (ou en db dans certains cas), donc je fais pas beaucoup d'appel vers cet API.
Après comme je suis sur un serveur mutualisé, je suppose que j'ai la même adresse IP que les autres hébergements sur le même serveur et donc mon site est susceptible de dépasser le quota autorisé dès lors qu'un autre site sur le même serveur fait appel aussi à cet API.
A défaut de Google avec lequel je lui passe mon access token et je suppose qu'il filtre les serveurs avec cet access-token et donc pas de limite à cause des autres (que depuis mon site uniquement).
L'API fonctionne très bien, exemple avec cette adresse : http://nominatim.openstreetmap.org/search?format=json&q=Chauss%C3%A9e+de+Wavre+55%2C+1370+Jodoigne%2C+Brabant+Wallon%2C+Belgique&limit=1
Bonjour,
la question n'est pas de savoir si l'API fonctionne en dehors d'un mutu OVH, mais si elle a déjà fonctionné depuis un mutu OVH.
Car peut être qu'il ont blacklisté les serveurs OVH suite à des abus, et c'est pour ça que OVH lui même impose des limites vers certaines API (pour éviter les blacklistage intempestif).
De plus en vois que sur cette API il y a des conditions à respecter :
Requirements
No heavy uses (an absolute maximum of 1 request per second).
Provide a valid HTTP Referer or User-Agent identifying the application (stock User-Agents as set by http libraries will not do).
Clearly display attribution as suitable for your medium.
Data is provided under the ODbL license which requires to share alike (although small extractions are likely to be covered by fair usage / fair dealing).
Cf : https://operations.osmfoundation.org/policies/nominatim/
Donc est-ce que votre/vos scripts respectes tous ces points (surtout les 2 premiers) ?
Cordialement, janus57
Bonjour,
Je ne serais pas vous dire si elle a déjà fonctionné depuis un mutu OVH.
Oui, mes scripts respectent bien ces règles car pour le moment je n'ai fait le test concernant une seule adresse et je l'ai peut-être fais 10 fois max depuis ce matin (donc je suis largement en dessous des 1 requête par seconde).
Mais je vais aussi rajouter mon adresse email comme User-Agent dixit l'API.
Bien à vous,
Bonjour,
Je reviens vers vous après une période d'absence à cause de mon boulot.
Mon problème est toujours le même. Est-ce que @vcasse ou @Ludo.H cités plus haut ou quelqu'un d'autre pourrai m'aider.
Voici le retour de la commande cURL depuis le serveur mutu d'OVH :
> **curl -v "http://nominatim.openstreetmap.org/search?format=json&q=Chauss%C3%A9e+de+Wavre+27%2C+1370+Jodoigne%2C+Brabant+Wallon%2C+Belgique&limit=1"**
> * Hostname was NOT found in DNS cache
> * Trying 193.63.75.109...
> * connect to 193.63.75.109 port 80 failed: Connection refused
> * Failed to connect to nominatim.openstreetmap.org port 80: Connection refused
> * Closing connection 0
> curl: (7) Failed to connect to nominatim.openstreetmap.org port 80: Connection refused
Merci d'avance pour votre aide.
Bien à vous,
Bonjour,
Depuis l'accés SSH, les requêtes vers l'extérieur sont autorisées uniquement sur whitelist et nominatim n'en fait pas parti.
Avez vous essayé de contacter cette API de openstreetmap depuis une page PHP?
Vincent
Bonjour,
Oui, mon site web récupère en PHP des lieux de OpenStreetMap (depuis l'API de nominatim) et les affiches sur une carte. Et donc mon code PHP fait une requête CURL vers cette API du genre :
> $ch = curl_init();
> curl_setopt_array($ch, [
> CURLOPT_RETURNTRANSFER => TRUE,
> CURLOPT_URL => "http://nominatim.openstreetmap.org/search?$query",
> CURLOPT_CONNECTTIMEOUT => 5,
> CURLOPT_TIMEOUT => 5,
> ]);
> $response = curl_exec($ch);
> curl_close($ch);
Bien à vous,
Nous ne bloquons pas cette adresse depuis nos serveurs web. Cela signifie que le blocage provient surement de openstreetmap. Pouvez vous les contacter afin d'en savoir plus ?
L'adresse IP bloquée est probablement la passerelle de sortie de votre cluster.
https://docs.ovh.com/fr/hosting/liste-des-adresses-ip-des-clusters-et-hebergements-web/
Cordialement,
Vincent
J'ai trouvé !
Le blocage se fait au niveau de l'endroit où on exécute la requête CURL (impossible de le faire depuis la console SSH, sauf l'adresse que l'on souhaite contacter se trouve dans la whitelist d'OVH).
Plus d'infos: https://community.ovhcloud.com/community/fr/connexion-vers-stripe-api?id=community_question&sys_id=47453540e5d286d02d4c0165b3e7661d
Bonjour,
Je regarde actuellement pour ouvrir nominatim depuis les accés SSH.
Cordialement,
Vincent
D'ici demain, l'ensemble des serveurs SSH de nos clusters auront accès à nomitatim :)
Bonne fin de semaine,
Vincent