原文:网上收集的WebBrowser的Cookie操作

1、WebBrowser设置Cookie



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1public partial class WebBrowserControl : Form

 2    {

 3        private String url;

 4

 5        [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]

 6        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

 7

 8        public WebBrowserControl(String path)

 9        {

            this.url = path;

            InitializeComponent();



            // set cookie

            InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);



            // navigate

            webBrowser.Navigate(url);

        }

        

}

2、将WebBrowser的cookie信息传给HttpWebRequest.



先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面



//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中



Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 1          CookieContainer myCookieContainer = new CookieContainer();

 2

 3

 4            //String 的Cookie 要转成 Cookie型的 并放入CookieContainer中

 5            string cookieStr = webBrowser1.Document.Cookie;

 6            string[] cookstr = cookieStr.Split(';');

 7            foreach (string str in cookstr)

 8            {

 9                string[] cookieNameValue = str.Split('=');

].Trim().ToString());

                ck.Domain = "www.abc.com";//必须写对

                myCookieContainer.Add(ck);

            }



            HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");

            hreq.Method = "POST";

            hreq.ContentType = "application/x-www-form-urlencoded";

         

            //自己创建的CookieContainer

            hreq.CookieContainer = myCookieContainer;

         

            string postdata = "id=2005&action=search&name=";

            byte[] byte1 = Encoding.ASCII.GetBytes(postdata);

            hreq.ContentLength = byte1.Length;

          

            Stream poststream = hreq.GetRequestStream();

, byte1.Length);

            poststream.Close();

      

            HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();

网上收集的WebBrowser的Cookie操作的更多相关文章

  1. WebBrowser的Cookie操作之流量刷新机

    最近一直在思考着如何通过代码去伪装或实现人工自然浏览网页的效果,起初能想到的是用WebBrowser实现这一效果,需要达到的功能预想有以下几点: 1.自动刷新 2.模拟人工下拉滚动条并停留一段时间: ...

  2. C# WebBrowser HttpWebRequest Cookie 的结合运用。

    在WebBrowser下对网页进行操作其实是一件挺轻松的事情,他可以很方便实现自定义的网站访问习惯.而WebBrowser毕竟是对MS原生 控件的封装,当我们使用C#下的WebBrowser尤其是这样 ...

  3. MDK4.6和J-LINK调试出现问题,软件自动关闭,在网上收集整理的解决办法

    MDK4.6配J-LINK调试时提示升级,升级完成后,弹出下图提示框后,软件自动退出. 提示原因:由于MDK4.6能识别山寨JLINK导致.网络牛人分析如下: 今天将Keil MDK升级到了V4.54 ...

  4. [Angularjs]cookie操作

    摘要 现在很多app采用内嵌h5的方式进行开发,有些数据会存在webveiw的cookie中,那么如果使用angularjs开发单页应用,就需要用到angularjs的cookie操作.这里提供一个简 ...

  5. 获取WebBrowser全cookie 和 httpWebRequest 异步获取页面数据

    获取WebBrowser全cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true) ...

  6. WebBrowser设置Cookie

    在winform里面经常会用到WebBrowser,这是一个难点就是如何设置cookies,注意,Docment对象是只读的,所以WebBrowser.Docment.cookie也就只有get方法, ...

  7. Python脚本控制的WebDriver 常用操作 <二十八> 超时设置和cookie操作

    超时设置 测试用例场景 webdriver中可以设置很多的超时时间 implicit_wait.识别对象时的超时时间.过了这个时间如果对象还没找到的话就会抛出异常 Python脚本 ff = webd ...

  8. cookie操作大全

    JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由J ...

  9. js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

    //是否存在指定函数 function isExitsFunction(funcName) {    try {        if (typeof(eval(funcName)) == " ...

随机推荐

  1. Linux开机自启动

    永久打开或则关闭 chkconfig iptables on chkconfig iptables off 即时生效,重启后还原 service iptables start service ipta ...

  2. 多快好省的做个app开发

    从技术经理的角度算一算,如何可以多快好省的做个app [导读]前端时间,一篇“从产品经理的角度算一算,做个app需要多少钱”的文章在网上疯传,可见大家对互联网创业的热情!这次,从一名技术经理的角度再给 ...

  3. List subList()的一个demo

    只要保证toIndex不大于size并且fromIndex不大于toIndex即可(谁会传一个负数的下标呢?) public List<E> subList(int fromIndex, ...

  4. 结构的具体说明sublime text 2/3的Golang开发环境

    1.下载并安装sublime text 2/3 官网下载:http://www.sublimetext.com/ 2.安装成功sublime text后.启动sublime text.选择菜单栏&qu ...

  5. WIN8 、WIN7 下IIS7.5、IIS8 的rewrite 伪静态功能设置方法

    原文 WIN8 .WIN7 下IIS7.5.IIS8 的rewrite 伪静态功能设置方法 win7和win8系统都自带有iis的功能.关于IIS的安装,上一篇已经讲述,这里就不重复了. 下面说下在w ...

  6. hdu4758 Walk Through Squares 自动机+DP

    题意:给n*m的地图,在地图的点上走,(n+1)*(m+1)个点,两种操作:往下走D和往右走R.现在要从左上角走到右下角,给定两个操作串,问包含这两个串的走法总共有多少种. 做法:用这两个串构建自动机 ...

  7. php异或加密解密算法的实现

    function xor_enc($str,$key) { $crytxt = ''; $keylen = strlen($key); for($i=0;$i<strlen($str);$i++ ...

  8. ios正在使用NSDateComponents、NSDate、NSCalendar它的结论是在当前时间是在一段时间在一天。

    一般应用程序设置这一组的存在,比如夜间模式,如果你.从8:00-23:00.在这个当前的时间是如何推断出期间.主要的困难在于如何使用NSDate生成8:00时间和23:00时间.然后用当前时间,也许有 ...

  9. 安装Team Foundation Server 2012过程截图

    原文:安装Team Foundation Server 2012过程截图 专题图 1,下载Team Foundation Server 2012  官方下载: http://www.microsoft ...

  10. Java 反射 想

    所谓反射.是指在执行时状态中,获取类中的属性和方法.以及调用当中的方法的一种机制. 这样的机制的作用在于获取执行时才知道的类(Class)及当中的属性(Field).方法(Method)以及调用当中的 ...