当前位置: 首页 > news >正文

dw手机销售网站制作千峰培训

dw手机销售网站制作,千峰培训,如何开 网站建设公司,seo方案书案例C#利用WebBrowser获取完整COOKIE介绍 摘要:使用WebBrowser控件获取网站的COOKIE有时候是不完整的,本文介绍WebBrowser控件获取网站的COOKIE不完整的原因,并提供一个利用WebBrowser获取完整COOKIE的示例供参考。 在WebBrowser下对网页进行操作…

C#利用WebBrowser获取完整COOKIE介绍


  • 摘要:使用WebBrowser控件获取网站的COOKIE有时候是不完整的,本文介绍WebBrowser控件获取网站的COOKIE不完整的原因,并提供一个利用WebBrowser获取完整COOKIE的示例供参考。

在WebBrowser下对网页进行操作其实是一件挺轻松的事情,他可以很方便实现自定义的网站访问习惯。而WebBrowser毕竟 是对MS原生控件的封装,当我们使用C#下的WebBrowser尤其是这样,虽然他可以更方便大家去调用,但是他的方便却是牺牲了灵活性为代价的。

有一天我想使用WebBrowser获取一个网站的COOKIE,在调用Document.Cookie时,发现无法完整获取其COOKIE,百思 不得其解,这么简单的功能,WebBrowser也会秀逗。经过抓包分析,发现原来该网站对写入到用户端关键的Cookie,加入httponly

HttpOnly,其实是一个提高WEB网站应用程序安全性的一个功能,但是大家往往都把他给忽略掉了。比如在ASP.NET 2.0的web.config的配制文件里就提供这个子的设置

1 <httpCookies httpOnlyCookies="true" />
2 // ***********.NET的代码如:
3 HttpCookie myCookie = new HttpCookie("myCookie");
4 myCookie.HttpOnly = true;
5 Response.AppendCookie(myCookie);
就是这个小小的设置,令WebBrowser拿他却是没辙,查了大量资料,要想实现这个功能,一定需要实现对最原始的网络流的读写,这种方法对很多程序员来说实现难度太大了。下面就教大家实现一个很简单的实现方法
1 public string Cookie()
2 {
3 if (this.Url == null)
4 return null;
5 string dir = this.Url.Host;
6 FileStream fr = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Cookies) + "\\index.dat", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
7 byte[] __dat = new byte[(int)fr.Length];
8 fr.Read(__dat, 0, __dat.Length);
9 fr.Close();
10 fr.Dispose();
11 string __datstream = Encoding.Default.GetString(__dat);
12 int p1 = 0;
13 p1 = __datstream.IndexOf("@" + dir, p1);
14 if (p1 == -1)
15 p1 = __datstream.IndexOf("@" + dir.Substring(dir.IndexOf('.') + 1));
16 if (p1 == -1)
17 return this.Document.Cookie;
18 int p2 = __datstream.IndexOf(".txt", p1 + 1);
19 p1 = __datstream.LastIndexOf('@', p2);
20 string dm = __datstream.Substring(p1 + 1, p2 - p1 + 3).TrimStart('?');
21 p1 = __datstream.LastIndexOf(":", p1);
22 p2 = __datstream.IndexOf('@', ++p1);
23 __datstream = string.Format("{0}@{1}", __datstream.Substring(p1, p2 - p1), dm);
24
25 Dictionary<string, string> __cookiedicts = new Dictionary<string, string>();
26 string __n;
27 StringBuilder __cookies = new StringBuilder();
28 __datstream = File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.Cookies) + "\\" + __datstream, Encoding.Default);
29 p1 = -2;
30 do
31 {
32 p1 += 2;
33 p2 = __datstream.IndexOf('\n', p1);
34 if (p2 == -1)
35 break;
36 __n = __datstream.Substring(p1, p2 - p1);
37 p1 = p2 + 1;
38 p2 = __datstream.IndexOf('\n', p1);
39 if (!__cookiedicts.ContainsKey(__n))
40 __cookiedicts.Add(__n, __datstream.Substring(p1, p2 - p1));
41 }
42 while ((p1 = __datstream.IndexOf("*\n", p1)) > -1);
43 if (this.Document.Cookie != null && this.Document.Cookie.Length > 0)
44 {
45 foreach (string s in this.Document.Cookie.Split(';'))
46 {
47 p1 = s.IndexOf('=');
48 if (p1 == -1)
49 continue;
50 __datstream = s.Substring(0, p1).TrimStart();
51 if (__cookiedicts.ContainsKey(__datstream))
52 __cookiedicts[__datstream] = s.Substring(p1 + 1);
53 else
54 __cookiedicts.Add(__datstream, s.Substring(p1 + 1));
55 }
56 }
57 foreach (string s in __cookiedicts.Keys)
58 {
59 if (__cookies.Length > 0)
60 __cookies.Append(';');
61 __cookies.Append(s);
62 __cookies.Append('=');
63 __cookies.Append(__cookiedicts[s]);
64 }
65 return __cookies.ToString();
66 }

转载于:https://www.cnblogs.com/ccczqh/archive/2012/07/23/2605628.html

http://www.lbrq.cn/news/2515339.html

相关文章:

  • 网站建设价格如何常用的五种网络营销工具
  • 界面设计好看的网站网站优化费用报价明细
  • 哈尔滨网站优化如何ks免费刷粉网站推广马上刷
  • 怎么做一个企业网站精准引流推广
  • 和创互联的网站是多少哪个公司做网站推广最好
  • 武汉建设银行社会招聘网站互联网推广销售是做什么的
  • 成都专业制作网站公司seo的工具有哪些
  • 织梦网站入侵苏州关键词优化搜索排名
  • 做网站提供服务器吗新闻发稿软文推广
  • 怎样创办一个网站搜索引擎营销的四种方式
  • 网站建设项目经验怎么写网络营销案例分析报告
  • 格尔木城乡建设规划局网站西安网站设计开发
  • 台江网站建设推广网站有哪些
  • 免费单页网站建设营销策划咨询机构
  • 济南网站搭建公司手机网站百度关键词排名查询
  • 政府网站建设发展站长工具综合查询ip
  • 南京电商网站建设简述网络推广的方法
  • 怎么做自己网站北京优化靠谱的公司
  • 2023b站免费推广入口游戏百度网站大全
  • 百度网站建设微信封面域名注册 万网
  • 黄岛区做网站的网页设计与网站开发
  • flash素材网站电商代运营收费标准
  • 做网站的问卷调查免费拓客软件
  • 南通网站建设找哪家好建立网站用什么软件
  • 做网站需要神网站怎样优化文章关键词
  • 购物网站的搜索功能是怎么做的网站建设需要啥
  • 温州网上推广什么网站好传统营销
  • 大学网站建设管理制度注册域名查询网站官网
  • 哪些公司做外贸网站江阴企业网站制作
  • 网站建设成本预算百度移动排名优化软件
  • 智能车辆热管理测试方案——提升效能与保障安全
  • 智能矿山综合管控平台
  • 服务器与电脑主机的区别,普通电脑可以当作服务器用吗?
  • Spring Boot音乐服务器项目-查询喜欢的音乐模块
  • 01 基于sklearn的机械学习-机械学习的分类、sklearn的安装、sklearn数据集、数据集的划分、特征工程中特征提取与无量纲化
  • 暴雨服务器更懂人工智能+