Seite 1 von 1

[Gelöst]:OPSI 4.0.6 rpc API

Verfasst: 05 Okt 2015, 18:01
von hawaii
Hallo,

folgendes Code Snippet gibt unter 4.0.6 keine Antwort mehr zurück:

Code: Alles auswählen

import httplib
import json
import base64
import ssl


def getMacAddress(FQDN):
    pc = FQDN
    payload = {"method": "getMacAddress", "params": [pc], "id": 1, }
    auth = "Basic " + base64.encodestring('user:password').strip()
    headers = {'content-type': 'application/json', 'Authorization': auth}
    conn = httplib.HTTPSConnection('opsi', 4447,context=ssl._create_unverified_context())
    conn.request("POST", "/rpc", json.dumps(payload), headers)
    response = conn.getresponse()
    print(response.read())
    #data = json.loads(response.read())
    conn.close()
    #print(data)
    print('finish')

getMacAddress(FQDN)
Wenn ich es im interaktiven Modus über Interface abfrage bekomme ich eine Antwort. Über /rpc kommt einfach keine Antwort zurück.
Wenn ich ohne authorization Anfrage kommt zumindest die Antwort, dass ich nicht authentifiziert bin.

Re: OPSI 4.0.6 rpc API

Verfasst: 05 Okt 2015, 18:26
von hawaii
Wie folgt funktioniert es jetzt:

Code: Alles auswählen

import httplib
import json
import base64
import ssl
import zlib


def getMacAddress(FQDN):
    pc = FQDN
    payload = {"method": "getMacAddress", "params": [pc], "id": 1, }
    auth = "Basic " + base64.encodestring('user:password').strip()
    headers = {'content-type': 'application/json', 'Authorization': auth}
    conn = httplib.HTTPSConnection('opsi', 4447,context=ssl._create_unverified_context())
    conn.request("POST", "/rpc", json.dumps(payload), headers)
    response = conn.getresponse()
    json_data = zlib.decompress(response.read())
    data = json.loads(json_data)
    conn.close()
    print data

getMacAddress(FQDN)

Re: [Gelöst]:OPSI 4.0.6 rpc API

Verfasst: 06 Okt 2015, 13:18
von n.wenselowski
Hallo,

ich kann nur dringend empfehlen die Header der Antwort zu überprüfen!
Mehr Informationen in den Releasenotes bzw. unter viewtopic.php?f=6&t=7449


Gruß

Niko

Re: [Gelöst]:OPSI 4.0.6 rpc API

Verfasst: 06 Okt 2015, 14:55
von hawaii
Hi,

Danke für den Hinweis und wir werden die Header auf jeden Fall prüfen. Aber ich musste gestern nach dem ungewollten Upgrade erstmal wieder irgendwie alles zum Laufen kriegen. Aber langsam sieht es wieder gut aus. ;-)

Grüßle

Re: [Gelöst]:OPSI 4.0.6 rpc API

Verfasst: 07 Okt 2015, 09:17
von n.wenselowski
Hi,

ich will an der Stelle nochmal ausholen: ohne den Header-Fix, der ab 4.0.6 aktiviert werden kann, beginnt im Header der Antwort der MIME-Type mit gzip-application.
Mit aktivem Header Fix verhält sich der Service dann RFC-Konform was eventuelle Kompression angeht.
Darüber lässt sich sehr gut prüfen wie man die Antwort behandeln muss.


Viele Grüße

Niko