connexion API REST geoserver depuis python

19 views
Skip to first unread message

Alain Benard

unread,
May 16, 2025, 8:40:29 AMMay 16
to georchestra
A tout hasard je demande si quelqun disposerai des explications ou d'exemple de code pour connecter un script python à un geoserver d'une instance georchestra. Le souci que je rencontre relève de l'authentification que je ne sais pas comment passer , un simple basicauth avec login / mot de passe aboutissant à des erreur 401. L'url que j'utilise est bonne et fonctionne si je suis déjà authentifié depuis un navigateur mais pas depuis un appel en python (mais certainement aussi en curl ...). J'imagine qu'il faut fournir un mécanisme qui est transparent lors de la connexion via un navigateur (session, cookies ??).  Bref parmi les usagers georchestra y aurait-il une bonne âme qui puisse expliquer ce qu'il faut faire ou mieux partager un code très simple. Voici typiquement un code très simple qui récupère (s'il marchait ;)) la liste des datastore d'un workspace et qui me donnne une erreur 401 (j'ai essayé pas mal de variantes) :
def get_datastores(workspace):
url = f"{GEOSERVER_URL}/rest/workspaces/{workspace}/datastores.json"
response = requests.get(url, auth=(USERNAME, PASSWORD))
if response.status_code == 200:
return response.json().get('dataStores', {}).get('dataStore', [])
else:
raise Exception(f"Failed to get datastores: {response.text}")

Landry Breuil

unread,
May 16, 2025, 9:30:04 AMMay 16
to georc...@googlegroups.com
il me semble que par défaut, les appels rest ne sont pas forcément
autorisés.. peux tu vérifier dans security/rest.properties ?

cf https://docs.geoserver.org/latest/en/user/security/rest.html

ici j'ai
/rest/**;GET=IS_AUTHENTICATED_ANONYMOUSLY
/rest/**;POST,DELETE,PUT=ADMIN,ROLE_ADMINISTRATOR

mais je ne suis pas certain que ce soit la conf par défaut. Elle est
éditable par l'interface web.

les rôles que tu reçois en passant par le navigateur ne sont peut-être
pas les mêmes ? dans mes souvenirs, 401=pas le bon mdp, 403=pas autorisé
qqsoit le l/p..

--
Landry Breuil

Alain Benard

unread,
May 19, 2025, 4:49:25 AMMay 19
to georchestra
Bonjour,
merci Landry mais l'API REST est bien autorisée sur notre serveur. J'ai apporté une réponse sur la liste georchestra-dev où j'avais aussi posté. Il suffit de suivre ce lien pour ceux qui sont membre de la liste georchetra : https://groups.google.com/g/georchestra-dev/c/Kr5Dg9rmacc/m/agp6l2NtBwAJ
Reply all
Reply to author
Forward
0 new messages