Bonjour à tous,
J'essaie d'utiliser les geoservices via un programme C#, en utilisant le mode de sécurisation par user-agent.
Pour l'exemple ci-dessous, j'ai bien sûr remplacé ma clé de géoservices par un mot bidon ("mykey").
Ce code me renvoie une exception "(403) interdit", vraisemblablement car le user-agent n'est pas reconnu ou pas transmis (alors que je l'ai pourtant bien défini via l'interface de gestion sur http://professionnels.ign.fr). La ressource à laquelle j'essaie d'accéder (GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD) est bien cochée dans la liste des ressources associées à ma clé de services.
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
17
18
19
20
21
22 try { HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://wxs.ign.fr/mykey/geoportail/r/wms?LAYERS=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&STYLES=&CRS=EPSG:2154&BBOX=1195600,6082800,1201600,6086448&WIDTH=1250&HEIGHT=760"); ((HttpWebRequest)httpRequest).UserAgent = "myua"; HttpWebResponse response = (HttpWebResponse)httpRequest.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream responseStream = response.GetResponseStream(); } else { MessageBox.Show("Une erreur s'est produite pendant l'exécution de la requête:\n" + response.StatusCode.ToString()); } } catch (System.Exception ex) { MessageBox.Show("Une erreur s'est produite:\n" + ex.Message); }
Le résultat est le même en essayant avec la méthode par referer et le code approprié.Une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((HttpWebRequest)httpRequest).Referer = "myreferer";
Partager