WebBrowser的Cookie操作
1.在WebBrowser中获取CookieCookieContainer 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中设置Cookiepublic 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操作 在Web开发中,Cookie是非常重要的一种技术,用于存储用户的浏览器信息,以便于后续的交互操作。在这里,我们将探讨如何在WebBrowser中操作Cookie,包括将Cookie信息传给 ...
通过C#的WebBrowser控件,我们可以方便地获取网页的cookie和userAgent信息,这对于开发Web应用程序或者进行网页自动化操作非常有用。理解并熟练运用这些方法,能帮助开发者更好地控制和处理与Web的交互。在实际项目...
当页面加载完成后,我们可以在该事件的处理函数中执行获取cookie的操作。以下是一个简单的示例: ```csharp private WebBrowser MywebBrowser; public Form1() { InitializeComponent(); MywebBrowser = new ...
在IT领域,尤其是在Web开发和应用中,"WebBrowser跨进程共享Cookie"是一个重要的主题,涉及到浏览器组件(如WebBrowser控件)如何在不同的进程中处理和传递Cookie信息。Cookie是服务器在用户浏览器上存储的小型文本...
然而,在某些情况下,如进行登录操作时,WebBrowser控件可能会因为保存了Cookie缓存而导致用户在重新登录时仍处于上一次的登录状态。为了解决这个问题,我们需要清除WebBrowser控件中的Cookie缓存。下面将详细介绍...
为了获取WebBrowser中的所有cookie,我们可以利用`WebBrowser.Document.Cookie`属性: ```csharp string cookies = webBrowser1.Document.Cookie; // 对cookies字符串进行处理,如解析成CookieContainer ``` 处理...
这个库不仅提供了基础的网页加载、前进、后退、刷新等操作,还支持JavaScript交互,可以调用网页中的JavaScript函数,甚至执行一些高级功能如下载管理、Cookie处理和HTML文档解析等。 使用易语言WebBrowser2支持库...
2. 隐私设置:WebBrowser控件也尊重用户的隐私设置,例如Cookie管理。开发者需要注意不要侵犯用户隐私,同时也要考虑到不同用户可能的隐私设置对应用功能的影响。 四、性能优化 1. 同步与异步加载:默认情况下,...
在C#中,可以通过WebBrowser控件的`CookieContainer`属性来管理Cookie。 - 有时,淘宝可能会使用验证码或者OAuth等安全措施,这时可能需要额外处理,如识别和输入验证码,或者重定向到授权页面获取授权码。 4. **...
richTextBox1.Text = webBrowser1.Document.Cookie; } } } 复制代码 //本事件是当每次加载完成当前页面后才会执行的 private void webBrowser1_DocumentCompleted(object sender, ...
4. **DOM操作**:WebBrowser控件加载的网页可以通过Document Object Model(DOM)接口进行操作。开发者可以通过DOM获取和修改网页元素,实现动态更新页面内容。 5. **安全与隐私**:由于WebBrowser控件使用的是IE...
在IT行业中,尤其是在软件开发领域,理解如何与浏览器交互,特别是获取和操作Cookie,是至关重要的。本篇文章将深入探讨如何使用C++编程语言来查询Internet Explorer(IE)的Cookie。Cookie是Web服务器存储在用户...
在WinForm应用中,可以通过`InternetSetCookie`方法设置`WebBrowser`控件的Cookie。这是一个P/Invoke声明的API,用于设置IE的Cookie: ```csharp [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError...
在VB(Visual Basic)编程中,查看和删除IE(Internet Explorer)的临时文件和Cookie是常见的操作,这对于清理用户浏览器缓存、保护隐私或者优化系统性能都有一定的帮助。以下是关于这个主题的详细知识点: 1. **IE...
通过钩子,我们不仅可以查看发送的Cookie,还可以捕获返回的Cookie,并可能对其进行操作,如添加、删除或修改,这对于实现一些特定的隐私保护或调试功能非常有用。 在提供的文件列表中,`WebBrowserSniffer.sln`是...
**CefSharp Browser:Chromium内核WebBrowser控件** CefSharp是一个开源项目,它为.NET开发者提供了基于Chromium的浏览器控件。这个控件允许开发者在他们的应用程序中嵌入一个功能强大的、与现代Web标准兼容的...
对于QQ空间,由于存在反爬虫和安全机制,可能需要处理验证码、Cookie以及OAuth等认证方式。如果"LoginQzone"能够成功登录,那么它可能已经实现了处理这些复杂情况的逻辑。 项目中的"LoginQzone.sln"是Visual Studio...
1. 获取现有的Cookie字符串:`originalCookies = Webbrowser1.Document.Cookie` 2. 分析这个字符串,找到"user_id"对应的键值对。 3. 创建一个新的Cookie字符串,用新的值替换"user_id"。 4. 使用`Webbrowser1....
EmbeddedWB提供了相应的API接口来管理这些方面,如设置Cookie策略,处理安全证书警告等。 8. **错误处理与调试** 当在EmbeddedWB中遇到错误时,可以利用控件提供的错误事件来捕获和处理。同时,为了调试,可以启用...
总的来说,通过Winform的WebBrowser控件和JavaScript的交互,开发者可以构建自动化工具来模拟用户在网页上的操作,实现自动登录和数据抓取功能。但同时也应注意,此类操作可能触及网站的使用条款和隐私政策,因此在...