OPSI API
OPSI API
Hallo @ll,
besitzt OPSI eine Web API über die ich von einem externen Skript Informationen vom System bekommen kann?
Zum Beispiel sowas wie "Gib mir die Mac Adresse zu folgendem Clientrechner"...
Irgendwie find ich da nichts dazu oder vielleicht stell ich mich an einem Freitag Nachmittag auch echt blöd an
Danke schon mal und Grüßle,
hawaii
besitzt OPSI eine Web API über die ich von einem externen Skript Informationen vom System bekommen kann?
Zum Beispiel sowas wie "Gib mir die Mac Adresse zu folgendem Clientrechner"...
Irgendwie find ich da nichts dazu oder vielleicht stell ich mich an einem Freitag Nachmittag auch echt blöd an
Danke schon mal und Grüßle,
hawaii
Zuletzt geändert von hawaii am 02 Jul 2014, 15:32, insgesamt 4-mal geändert.
Re: OPSI API
Bin jetzt schon einen Schritt weiter und hab verstanden, dass das Ganze über json-rpc läuft, allerdings verstehe ich nicht ganz wie ich mich dem RPC Server gegenüber authentifizieren soll.
Gibt es dafür eine eigene Methode oder wie läuft das?
Hat hier schon jemand Erfahrung?
Grüßle,
Kai
Gibt es dafür eine eigene Methode oder wie läuft das?
Hat hier schon jemand Erfahrung?
Grüßle,
Kai
Re: OPSI API
Hier habe ich ein Beispiel in Ruby wiki/userspace:webservice_corner:ruby-rpc abgelegt.
Authentifiert wird über Basic-Auth
Authentifiert wird über Basic-Auth
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: OPSI API
Hallo,
es gibt eine API, die unter https://opsi.server.fqdn:4447/rpc angesprochen werden kann. Eine Übersicht über mögliche Methoden gibt es unter https://opsi.server.fqdn:4447/interface, das ist quasi der interaktive Modus
Die API spricht JSON-RPC und man muss sich zur Kommunikation beim Server authentifizieren.
Gruß
Niko
es gibt eine API, die unter https://opsi.server.fqdn:4447/rpc angesprochen werden kann. Eine Übersicht über mögliche Methoden gibt es unter https://opsi.server.fqdn:4447/interface, das ist quasi der interaktive Modus
Die API spricht JSON-RPC und man muss sich zur Kommunikation beim Server authentifizieren.
Gruß
Niko
Code: Alles auswählen
import OPSI
Re: OPSI API
Top, danke! Das sieht schon mal gut aus und sollte mir weiterhelfen
Grüßle
Grüßle
Re: OPSI API
Jetzt muss ich das Ganze doch noch mal aufmachen
Versuche nen json-rpc call gerade in python zu bauen und bekomme aber nur einen Fehler als Antwort zurück.
Irgendwie kann ich damit aber so gar nix anfangen....
Hat hier vielleicht jemand noch 'ne Idee wo das Problem hängen könnte?
Leider ist das einzige was ich zurückbekomme:
Versuche nen json-rpc call gerade in python zu bauen und bekomme aber nur einen Fehler als Antwort zurück.
Irgendwie kann ich damit aber so gar nix anfangen....
Hat hier vielleicht jemand noch 'ne Idee wo das Problem hängen könnte?
Code: Alles auswählen
import requests
import json
def main():
url = "https://user:password@opsi:4447/rpc"
headers = {'content-type': 'application/json','Content-Encoding': 'gzip'}
payload = {
"method": "authenticated",
"params": [""],
"id": 1,
}
response = requests.post(
url, data=json.dumps(payload), headers=headers, verify=False).json()
print response
if __name__ == "__main__":
main()
Code: Alles auswählen
{u'error': {u'message': u'Error -3 while decompressing data: incorrect header check', u'class': u'error'}, u'result': None, u'id': None}
Re: OPSI API
Schuss ins Blaue ohne es genau zu wissen:
Lass mal
weg.
Sieht so aus als würde hier versucht werden etwas zu decomprimieren, was nicht comprimiert ist
Lass mal
Code: Alles auswählen
'Content-Encoding': 'gzip'
Sieht so aus als würde hier versucht werden etwas zu decomprimieren, was nicht comprimiert ist
Re: OPSI API
Ne, das is es leider nicht, wenn ich das weg lasse, dann fällt er direkt auf die Fre....
Code: Alles auswählen
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing: incorrect header check',))
Re: OPSI API
Code: Alles auswählen
"method": "authenticated",
"params": [""],
"id": 1,
http://download.uib.de/opsi4.0/doc/html ... cture-opsi
Code: Alles auswählen
"method": "product_getHashes",
"params": [""],
"id": 1,
Re: OPSI API
Unter https://opsi:4447/interface ist diese Methode aber gelistet und funktioniert auch, ich dachte diese Methoden sind alle verfügbar?
Leider bringt auch das nutzen der von dir angegebenen Methode keinen Erfolg.
Hm, ich steh echt irgendwie auf dem Schlauch gerade.....
Leider bringt auch das nutzen der von dir angegebenen Methode keinen Erfolg.
Hm, ich steh echt irgendwie auf dem Schlauch gerade.....