.Net Core(C#) 使用WebClient执行请求时配置cookie的方法及示例代码
时间:2022-11-12
1、通过WebClient对象的Headers设置cookie
WebClient wb = new WebClient(); wb.Headers.Add(HttpRequestHeader.Cookie, "somecookie"); //设置一个cookie值 wb.Headers.Add(HttpRequestHeader.Cookie, "cookiename=cookievalue"); //设置多个cookie值 wb.Headers.Add(HttpRequestHeader.Cookie, "cookiename1=cookievalue1;" + "cookiename2=cookievalue2");
2、重写WebClient的方法维护设置cookie
public >WebClientCookie : WebClient { public WebClientCookie(CookieContainer container) { this.container = container; } public CookieContainer CookieContainer { get { return container; } set { container= value; } } // 设置自己想要添加的登陆信息等cookie public void SetCustCookie(string name,string value, string path,string domain) { CookieCollection cookies = new CookieCollection(); cookies.Add(new Cookie(name.Trim(), value.Trim(), path, domain)); container.Add(cookies); } private CookieContainer container = new CookieContainer(); protected override WebRequest GetWebRequest(Uri address) { WebRequest r = base.GetWebRequest(address); var request = r as HttpWebRequest; if (request != null) { request.CookieContainer = container; } return r; } protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result) { WebResponse response = base.GetWebResponse(request, result); ReadCookies(response); return response; } protected override WebResponse GetWebResponse(WebRequest request) { WebResponse response = base.GetWebResponse(request); ReadCookies(response); return response; } private void ReadCookies(WebResponse r) { var response = r as HttpWebResponse; if (response != null) { CookieCollection cookies = response.Cookies; container.Add(cookies); } } }
相关文档:.Net(C#) 后台使用webclient(客户端控制台程序)执行Get和Post请求的方法-CJavaPy
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。