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.未经授权。

如果有人知道这个问题,请帮助我。

Jasper 服务器休息服务返回未经授权的内容

您可以使用 CookieContainer 来保存会话 Cookie,而不是设置标头。

有关示例,请参阅如何在 HttpClient 的 HttpRequestMessage 上设置 Cookie。