`
pcajax
  • 浏览: 2161642 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

WebBrowser的Cookie操作

阅读更多
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操作

    网上收集的WebBrowser的Cookie操作 在Web开发中,Cookie是非常重要的一种技术,用于存储用户的浏览器信息,以便于后续的交互操作。在这里,我们将探讨如何在WebBrowser中操作Cookie,包括将Cookie信息传给 ...

    C#获取WebBrowser中的cookie和userAgent

    通过C#的WebBrowser控件,我们可以方便地获取网页的cookie和userAgent信息,这对于开发Web应用程序或者进行网页自动化操作非常有用。理解并熟练运用这些方法,能帮助开发者更好地控制和处理与Web的交互。在实际项目...

    C#基于WebBrowser获取cookie的实现方法

    当页面加载完成后,我们可以在该事件的处理函数中执行获取cookie的操作。以下是一个简单的示例: ```csharp private WebBrowser MywebBrowser; public Form1() { InitializeComponent(); MywebBrowser = new ...

    WebBrowser跨进程共享Cookie

    在IT领域,尤其是在Web开发和应用中,"WebBrowser跨进程共享Cookie"是一个重要的主题,涉及到浏览器组件(如WebBrowser控件)如何在不同的进程中处理和传递Cookie信息。Cookie是服务器在用户浏览器上存储的小型文本...

    C#清除WebBrowser中Cookie缓存的方法

    然而,在某些情况下,如进行登录操作时,WebBrowser控件可能会因为保存了Cookie缓存而导致用户在重新登录时仍处于上一次的登录状态。为了解决这个问题,我们需要清除WebBrowser控件中的Cookie缓存。下面将详细介绍...

    通过webbrowser下载文件(看评论酌情下载)

    为了获取WebBrowser中的所有cookie,我们可以利用`WebBrowser.Document.Cookie`属性: ```csharp string cookies = webBrowser1.Document.Cookie; // 对cookies字符串进行处理,如解析成CookieContainer ``` 处理...

    易语言WebBrowser2支持库

    这个库不仅提供了基础的网页加载、前进、后退、刷新等操作,还支持JavaScript交互,可以调用网页中的JavaScript函数,甚至执行一些高级功能如下载管理、Cookie处理和HTML文档解析等。 使用易语言WebBrowser2支持库...

    WebBrowser控件网上资料大全

    2. 隐私设置:WebBrowser控件也尊重用户的隐私设置,例如Cookie管理。开发者需要注意不要侵犯用户隐私,同时也要考虑到不同用户可能的隐私设置对应用功能的影响。 四、性能优化 1. 同步与异步加载:默认情况下,...

    C# webbrowser实现自动登录淘宝

    在C#中,可以通过WebBrowser控件的`CookieContainer`属性来管理Cookie。 - 有时,淘宝可能会使用验证码或者OAuth等安全措施,这时可能需要额外处理,如识别和输入验证码,或者重定向到授权页面获取授权码。 4. **...

    delphi获取Cookie源码.rar

    richTextBox1.Text = webBrowser1.Document.Cookie; } } } 复制代码 //本事件是当每次加载完成当前页面后才会执行的 private void webBrowser1_DocumentCompleted(object sender, ...

    WebBrowser

    4. **DOM操作**:WebBrowser控件加载的网页可以通过Document Object Model(DOM)接口进行操作。开发者可以通过DOM获取和修改网页元素,实现动态更新页面内容。 5. **安全与隐私**:由于WebBrowser控件使用的是IE...

    查询IE Cookie C++

    在IT行业中,尤其是在软件开发领域,理解如何与浏览器交互,特别是获取和操作Cookie,是至关重要的。本篇文章将深入探讨如何使用C++编程语言来查询Internet Explorer(IE)的Cookie。Cookie是Web服务器存储在用户...

    WinForm项目开发中WebBrowser用法实例汇总

    在WinForm应用中,可以通过`InternetSetCookie`方法设置`WebBrowser`控件的Cookie。这是一个P/Invoke声明的API,用于设置IE的Cookie: ```csharp [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError...

    vb 查看删除ie临时文件cookie

    在VB(Visual Basic)编程中,查看和删除IE(Internet Explorer)的临时文件和Cookie是常见的操作,这对于清理用户浏览器缓存、保护隐私或者优化系统性能都有一定的帮助。以下是关于这个主题的详细知识点: 1. **IE...

    c# Hook Webbrowser

    通过钩子,我们不仅可以查看发送的Cookie,还可以捕获返回的Cookie,并可能对其进行操作,如添加、删除或修改,这对于实现一些特定的隐私保护或调试功能非常有用。 在提供的文件列表中,`WebBrowserSniffer.sln`是...

    CefSharp Browser Chromium内核 WebBrowser 控件

    **CefSharp Browser:Chromium内核WebBrowser控件** CefSharp是一个开源项目,它为.NET开发者提供了基于Chromium的浏览器控件。这个控件允许开发者在他们的应用程序中嵌入一个功能强大的、与现代Web标准兼容的...

    LoginQzone

    对于QQ空间,由于存在反爬虫和安全机制,可能需要处理验证码、Cookie以及OAuth等认证方式。如果"LoginQzone"能够成功登录,那么它可能已经实现了处理这些复杂情况的逻辑。 项目中的"LoginQzone.sln"是Visual Studio...

    我们来看看怎么获取COOKIES 然后就是怎么修改

    1. 获取现有的Cookie字符串:`originalCookies = Webbrowser1.Document.Cookie` 2. 分析这个字符串,找到"user_id"对应的键值对。 3. 创建一个新的Cookie字符串,用新的值替换"user_id"。 4. 使用`Webbrowser1....

    EmbeddedWB 学习WebBrowser

    EmbeddedWB提供了相应的API接口来管理这些方面,如设置Cookie策略,处理安全证书警告等。 8. **错误处理与调试** 当在EmbeddedWB中遇到错误时,可以利用控件提供的错误事件来捕获和处理。同时,为了调试,可以启用...

    Winform下动态执行JavaScript脚本获取运行结果,谈谈网站的自动登录及资料获取操作.doc

    总的来说,通过Winform的WebBrowser控件和JavaScript的交互,开发者可以构建自动化工具来模拟用户在网页上的操作,实现自动登录和数据抓取功能。但同时也应注意,此类操作可能触及网站的使用条款和隐私政策,因此在...

Global site tag (gtag.js) - Google Analytics