Ir para conteúdo principal

Recuperando uma lista de aplicativos do Qlik NPrinting

O código a seguir estende o exemplo anterior de um aplicativo de console do .NET, criando uma conexão autenticada e recuperando uma lista de aplicativos do Qlik NPrinting. Lembre-se de substituir server.name.com pelo nome real do seu Qlik NPrinting Server.

Nota: O método de desserialização JSON neste exemplo usa uma biblioteca de terceiros da Newtonsoft para converter o JSON em um objeto.

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(); }