Vai al contenuto principale

Recupero di un elenco di app Qlik NPrinting

Il codice seguente estende l'esempio precedente di un'applicazione console .NET creando una connessione autenticata e recuperando un elenco di app Qlik NPrinting. Ricordare di sostituire server.name.com con il nome effettivo di Qlik NPrinting Server.

Nota informaticaIl metodo di deserializzazione JSON nell'esempio seguente utilizza una libreria di terze parti da Newtonsoft per convertire JSON in un oggetto.

static void Main(string[] args) { //Create the HTTP Request (authenticate) and add required headers ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@ "https://server.name.com:4993/api/v1/login/ntlm"); CookieContainer cookies = new CookieContainer(); request.CookieContainer = cookies; request.Method = "GET"; request.UserAgent = "Windows"; request.Accept = "application/json"; // specify to run as the current Microsoft Windows user request.UseDefaultCredentials = true; try { // make the web request and return the content HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader responseReader = new StreamReader(response.GetResponseStream()); string sResponseHTML = responseReader.ReadToEnd(); Console.WriteLine(sResponseHTML); } catch (Exception ex) { Console.WriteLine(ex.Message); } //Create second HTTP request (get list of apps) and add required headers HttpWebRequest secondRequest = (HttpWebRequest)WebRequest.Create(@ "https://server.name.com:4993/api/v1/apps"); //assign cookie to request to maintain session secondRequest.CookieContainer = cookies; secondRequest.Method = "GET"; secondRequest.UserAgent = "Windows"; secondRequest.Accept = "application/json"; // specify to run as the current Microsoft Windows user secondRequest.UseDefaultCredentials = true; try { HttpWebResponse response2 = (HttpWebResponse)secondRequest.GetResponse(); StreamReader responseReader2 = new StreamReader(response2.GetResponseStream()); string sResponseHTML2 = responseReader2.ReadToEnd(); dynamic jsonObj = JsonConvert.DeserializeObject(sResponseHTML2); foreach (var app in jsonObj.data.items) { Console.WriteLine(app.name); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }