如何在UWP上使用Cookie发出HTTP请求?

时间:2018-09-11 11:19:32

标签: http cookies uwp windows-10-universal

我想在正确处理cookie的同时向远程服务器发出http请求(例如,存储服务器发送的cookie,并在随后的请求中发送这些cookie)。保留所有cookie很好

1 个答案:

答案 0 :(得分:2)

如果将Windows.Web.Http.HttpClient的实例传递给其构造函数,则内置HttpBaseProtocolFilter可以管理cookie。然后,此类具有CookieManager属性,其中包含cookie,您甚至可以对其进行修改并为下一个请求添加自定义cookie。

但是,您应该改为引用System.Net.Http NuGet软件包并使用其HttpClient,该软件包始终是最新的并定期更新。在这种情况下,HttpClient类在其构造函数中接受一个HttpClientHandler实例,并且该类又具有CookieContainer属性,该属性的工作方式与{{1 }}。

CookieManager

发送自定义Cookie

Windows.Web.Http

获取Cookie

System.Net.Http.HttpClient

var handler = new HttpClientHandler() { CookieContainer = new System.Net.CookieContainer(), UseCookies = true }; var client = new System.Net.Http.HttpClient(handler); handler.CookieContainer.Add(targetUri, new System.Net.Cookie("name", "value")); var response = await client.GetAsync(targetUri);

发送自定义Cookie

var cookie = handler.CookieContainer["name"];

获取Cookie

Windows.Web.Http.HttpClient