原文:网上收集的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. 也可以看看GCD(杭州电2504)(gcd)

    也可以看看GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  2. 无法使用Django新建项目:&#39;django-admin.py&#39;不是内部或外部命令

    问题: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlhdGxhbnRpcw==/font/5a6L5L2T/fontsize/400/fill/I0 ...

  3. 漫话Unity3D(三)

    八.预制(Prefab) 这个单独提出来,是由于它太经常使用了.也是Unity 的核心要素之中的一个.原本Unity中的一个物体是你拖拽一个模型到场景中,或者创建一个几何体,或者灯光地形等,然后设置这 ...

  4. 【转】Android 收集已发布程序的崩溃信息

    我们写程序的时候都希望能写出一个没有任何Bug的程序,期望在任何情况下都不会发生程序崩溃.不过理想是丰满的,现实是骨感的.没有一个程序员能保证自己写的程序绝对不会出现异常崩溃.特别是针对用户数达到几十 ...

  5. js实现鼠标拖拽div-------Day44

    假设去问这样一个问题"你认为鼠标操作简单,还是键盘操作简单",相信会有多数人都会回答鼠标吧,毕竟键盘button那么多,假设手小了或者手法不规范了,太easy出问题了,也对操作的速 ...

  6. Cordova WP8 插件开发

    原文:Cordova WP8 插件开发 前面博客中介绍了Cordova WP8平台上的安装部署,Cordova扩展可以利用WP8本地代码扩展WebApp的功能,调用本地能力需要开发相应的插件,下面以闪 ...

  7. 论docker中 CMD 与 ENTRYPOINT 的区别(转)

    Dockerfile 用于自动化构建一个docker镜像.Dockerfile里有 CMD 与 ENTRYPOINT 两个功能咋看起来很相似的指令,开始的时候觉得两个互用没什么所谓,但其实并非如此: ...

  8. Android 获取屏幕大小和密度

    Android 获取屏幕大小和密度 DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay ...

  9. Cocos2d-x 2.2.3 Android配置

    今天总结出来的部署流程,已经成功把自己的项目编译到android真机上.省去了安装ndk等步骤 环境: win7 64位 1.导入项目到eclipse 2.导入libcocos2dx 样例:C:\co ...

  10. IIS7.0 Appcmd 命令详解

    原文 IIS7.0 Appcmd 命令详解 一:准备工作 APPcmd.exe 位于 C:\Windows\System32\inetsrv 目录 使用 Cd c:\Windows\System32\ ...