我将 Restsharp 用于我正在开发的 WPF 客户端。
看来我在 client.CookieContainer 中没有收到 cookie,在我成功向我们的服务器进行身份验证后,它始终有 0 个项目。
这很奇怪,因为使用 Postman 发送相同的请求,而我收到一个 JSESSIONID cookie,当使用 Restsharp 发送请求时,该 cookie 不存在。
public static async Task<IRestResponse> SendLogonRequest(string UID, SecureString pwd)
{
var restClient = new RestClient(new Uri(URLSRV))
{
Authenticator = new HttpBasicAuthenticator(UID, pwd.ToInsecureString()) //base64 auth;
};
restClient.CookieContainer = new CookieContainer();
var restRequest = new RestRequest(Method.POST);
restRequest.AddHeader("Accept", "application/json");
restRequest.AddHeader("Content-Type", "application/json");
var cancellationTokenSource = new CancellationTokenSource();
var restResponse = await restClient.ExecuteTaskAsync(restRequest, cancellationTokenSource.Token);
return restResponse;
}
我在一篇文章中看到,如果 cookie 有 HttpOnly 标志,它将不起作用。 (看:https://stackoverflow.com/a/21072840/7031019 https://stackoverflow.com/a/21072840/7031019)
这对我没有帮助,因为我无法从服务器端更改任何内容。
谢谢
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)