Jasper 服务器休息服务返回未经授权的内容
本文关键字:授权 返回 服务器 服务 Jasper | 更新日期: 2023-09-27 17:56:46
使用.NET Http客户端,我登录到jasper服务器。
HttpResponseMessage loginResponse = loginClient.PostAsync("http://localhost:8080/jasperserver/rest/login", formContent).Result;
IEnumerable<string> jaspsessid = loginResponse.Headers.GetValues("Set-Cookie");
使用上面的会话 ID 我传递给下一个请求。
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Cookie", jaspsessid);
httpClient.DefaultRequestHeaders.Accept.Add(new
System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
StringContent requestContent = constructJasperRequestJson(reportParameters);
HttpResponseMessage generateReportRequestResponse = new HttpResponseMessage();
generateReportRequestResponse = httpClient.PostAsync(AppConstant.JASPER_SERVER_BASE_URI + AppConstant.JASPER_SERVER_REPORT_EXECUTION_URI, requestContent).Result;
在第二个请求中,我收到401.未经授权。
如果有人知道这个问题,请帮助我。
您可以使用 CookieContainer 来保存会话 Cookie,而不是设置标头。
有关示例,请参阅如何在 HttpClient 的 HttpRequestMessage 上设置 Cookie。