tnblog
首页
视频
资源
登录

C# HttpClient设置cookies

10172人阅读 2020/5/22 9:04 总访问:688041 评论:0 收藏:0 手机
分类: .net


通过设置handler.UseCookies=true(默认为true),默认的会自己带上cookies

  1. var handler = new HttpClientHandler() { UseCookies = true };
  2. var client = new HttpClient(handler);// { BaseAddress = baseAddress };
  3. client.DefaultRequestHeaders.Add("user-agent""Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20200101 Firefox/57.0");
  4. client.DefaultRequestHeaders.Add("Connection""Keep-Alive");
  5. client.DefaultRequestHeaders.Add("Keep-Alive""timeout=900");
  6. var content = new FormUrlEncodedContent(new[]
  7.             {
  8.                 new KeyValuePair<stringstring>("email""xj"),
  9.                 new KeyValuePair<stringstring>("password""a"),
  10.             });
  11. var result = await client.PostAsync("https://www.xxjj.com/login/login", content);
  12. result.EnsureSuccessStatusCode();

这种情况post请求登陆成功后,重定向到别的页面,也会自动带上cookies。如果把handler.UseCookies设置为false,登陆后重定向的话不会自动带上cookies,则又会跳转到登陆页面。


这种方法的使用场景:抓取需要登陆后才能看到的网页数据,不需要设置任何cookies,httpclient会自动把登陆后的cookies放置到后面的请求中。

但是也注意,如果仅仅是直接发起请求,它是不会把发起项目本身的cookie信息传递过去的,它带的是你请求网站的cookie


HttpClient手动设置cookie参考

https://www.tnblog.net/xiuxin3/article/details/3832



欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价
如果有缘,错过了还会重来,如果无缘,相遇了也会离开
排名
6
文章
199
粉丝
4
评论
3
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术