Über IronPython einen GET-Request absetzen

Consulting-Funktionen im TaxViewer werden immer beliebter. Das Browser-Fenster, das sich bei Web-Applikationen, die über die Browsers.xml definiert sind, immer öffnet, ist nicht immer gleichermassen beliebt. Über IronPython kann das Öffnen dieser Browserfenster unterbunden werden. Hier ist ein Beispiel für einen Aufruf einer Applikation, die das „Gelesen“-Häkchen für einen Navigationsbaum-Teil setzt:

import urllib.request

server = "server-ip-adresse" 
port = 1234
params = {
    "ECMUser": ecm_user,
    "TaxSubjectId": tax_subject_id,
    "TaxReturnId": tax_return_id,
    "TaxReturnYear": tax_return_year,
    "Level1Filter": level_1_filter,
    "Level2Filter": level_2_filter,
}
if "level_3_filter"  in locals() and level_3_filter != None and level_3_filter != "None" :
    params['Level3Filter']: level3_filter

params = {key: "" if value is None else str(value) for key, value in params.items()}
query_string = urllib.parse.urlencode(params)
url = f"http://{server}:{port}/doc_viewed?{query_string}"


req = urllib.request.Request(url)

try:
    with urllib.request.urlopen(req) as response:
        data = response.read().decode("utf-8")
        logger.Info(f"Status: {response.status}")
        logger.Info(f"data: {data}")
except urllib.error.HTTPError as e:
    logger.Error(f"HTTP-Fehler: {e.code} - {e.reason} - {url}")
except urllib.error.URLError as e:
    logger.Error(f"URL-Fehler: {e.reason}")

1 „Gefällt mir“