WebBrowser的Cookie操作

1.在WebBrowser中获取Cookie

CookieContainer myCookieContainer = new CookieContainer();

string cookieStr = webBrowser1.Document.Cookie;
string[] cookstr = cookieStr.Split(';');
foreach (string str in cookstr)
{
    string[] cookieNameValue = str.Split('=');
    Cookie ck = new Cookie(cookieNameValue[0].Trim ().ToString(), cookieNameValue[1].Trim ().ToString());
    ck.Domain = "www.google.com";
    myCookieContainer.Add(ck);
}

WebClient设置cookie!
WebClient wc = new WebClient();
wc.Headers.Add("Cookie", "PHPSESSID=" + cookie + ";");
// 注意,这里是Cookie,不是Set-Cookie
byte[] re = wc.UploadData(Global.RootPath + "test.php", new byte[0]);
System.Text.UTF8Encoding converter = new System.Text.UTF8Encoding();
string str = converter.GetString(re);

2. 在WebBrowser中设置Cookie
public partial class WebBrowserControl : Form
{
        private String url;

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

public WebBrowserControl(String path)
        {
            this.url = path;
            InitializeComponent();

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

// navigate
            webBrowser.Navigate(url);
        }       
}

3.将WebBrowser的cookie信息传给HttpWebRequest

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

//在WebBrowser中登录cookie保存在WebBrowser.Document.Cookie中     
CookieContainer myCookieContainer = new CookieContainer();

//String 的Cookie 要转成 Cookie型的 并放入CookieContainer中
string cookieStr = webBrowser1.Document.Cookie;
string[] cookstr = cookieStr.Split(';');

foreach (string str in cookstr)
{
    string[] cookieNameValue = str.Split('=');
    Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].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();
poststream.Write(byte1, 0, byte1.Length);
poststream.Close();
     
HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();

WebBrowser的Cookie操作相关推荐

  1. WebBrowser的Cookie操作(与CookieContainer的关系)

    WebBrowser的Cookie操作 1.在WebBrowser中获取Cookie CookieContainer myCookieContainer = new CookieContainer() ...

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

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

  3. php header setcookie,php中header头设置Cookie与内置setCookie的区别,和js对cookie操作

    首先声明,浏览的Cookie操作都是通过HTTP Header(俗称"Http头") 来实现.所有的服务器与客户端之间Cookie数据传输都是通过Http请求头来操作. PHP中* ...

  4. django13:Session与Cookie操作

    Session与Cookie cookie 服务端保存在客户端浏览器上的信息都可以教cookie 表现形式一般是k:v键值对(可以多个) 优化: 随机字符串1:用户1相关信息 随机字符串2:用户2相关 ...

  5. cookie无法读取bdstoken_第二章(第12节):cookie操作

    有时候我们需要验证浏览器中 cookie 是否正确,因为基于真实 cookie 的测试是无法通过白盒和集成测试进行的.WebDriver 提供了操作 cookie 的相关方法,可以读取.添加和删除 c ...

  6. js cookie操作

    //cookie操作3个方法 //设置cookie function setCookie(name, value) { var argv = setCookie.arguments; var argc ...

  7. 对cookie和子cookie操作的封装

    1 /**2 * 封装cookie的操作3 * @type {Object}4 */5 var CookieUtil = {6 /**7 * 根据cookie的名字获取相应的值8 * @param n ...

  8. session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作

    forms组件源码 切入点:form_obj.is_valid() """ def is_valid(self):"""Returns Tr ...

  9. 使用jquery.cookie操作Cookie实例

    我们在WebForm上增加 "增加,删除,修改"三个按钮,并使用一个文本框来显示当前写入的Cookie的内容,我们将为每个按钮写一个处理函数. 对Cookie操作实例 <%@ ...

最新文章

  1. 今天终于将第一个 Android NDK 程序编译、运行成功
  2. SAP物料标准成本估算结果
  3. JAVA程序员必看的面试题
  4. 权威可信 | 华为云云测通过中国电子技术标准院软件测试工具能力评价
  5. python中面向对象的ui_怎样理解Python中的面向对象?
  6. 2022年计算机二级Java语言程序设计复习题及答案
  7. linux识别不了搜狗安装包,为啥安装使用搜狗拼音不成功?
  8. linux关闭防火墙时出现问号乱码,linux文件名乱码问题的解决方...-tcp_wrappers防火墙配置方法-su 与 su - 的比较_169IT.COM...
  9. SlideShare:大话SSD (淘宝核心系统数据库组 褚霸)
  10. 《Python股票量化交易从入门到实践》学习记录
  11. java提取富文本文字_富文本中文字部分提取
  12. linux禁调usb,Linux主机禁用USB接口
  13. 早晨随笔_早上如何调试
  14. SQL 校验身份证格式
  15. 鲲鹏大数据解决方案拆解:用硬实力跨越技术与应用的鸿沟
  16. 梦幻星空html,HTML5特效展示,梦幻星空
  17. linu修改open files无效_不越狱修改运动步数,安卓苹果手机通用
  18. vim:修改vim录制的宏
  19. BZOJ_1778_[Usaco2010_Hol]_Dotp_驱逐猪猡_(期望动态规划+高斯消元+矩阵)
  20. Java笔记-常用类String

热门文章

  1. 信息学奥赛一本通(1317:【例5.2】组合的输出)
  2. php返回上一层的函数6,[PHP]实用函数6第1/2页
  3. 导航栏iframe公共样式_中秋节微信公众号推文样式素材推荐
  4. 一起学习C语言:C语言基本语法(二)
  5. python os库使用
  6. linux登录主机命令,linux w命令查询已登录主机的用户信息
  7. python模块名不规范如何导入_如何强制Python的“导入”将名称视为模块,而不是函数?...
  8. 图像处理基础系列-01
  9. linux内核那些事之物理内存模型之DISCONTIGMEM(2)
  10. AngularJS-模型和控制器