有关WebBrowser的使用,如何加载Cookie信息。

szclm 2004-07-08 09:02:04
我想用WebBrowser->Navigate发送Post信息,并且加载Cookie,如何实现?
...全文
259 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gracezhu 2004-07-08
  • 打赏
  • 举报
回复
文档中心,是VB代码,不过原理是一样的
http://dev.csdn.net/article/28/28374.shtm
szclm 2004-07-08
  • 打赏
  • 举报
回复
找个人来帮帮忙啦!
PiggyXP 2004-07-08
  • 打赏
  • 举报
回复
借 jkjt(如何) 的代码回复你一下,不知道是否对你有用了

CAtlHttpClient company;
CAtlNavigateData companydata;

companydata.SetMethod("GET");
companydata.SetExtraHeaders(cookiestr); //发送cookie给服务器;
company.Navigate("www.csdn.net","/indes.asp",&companydata);
tmp=company.GetResponse();//返回整个web页面
CString test;
test=companydata.GetExtraHeaders(); //得到从服务器返回的Cookie,有时候有别的数据,自己处理一下。
获取Cookie [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern bool InternetGetCookieEx(string pchUrl, string pchCookieName, StringBuilder pchCookieData, ref System.UInt32 pcchCookieData, int dwFlags, IntPtr lpReserved); private static string GetCookieString(string url) { uint datasize = 1024; StringBuilder cookieData = new StringBuilder((int)datasize); if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x2000, IntPtr.Zero)) { if (datasize < 0) return null; cookieData = new StringBuilder((int)datasize); if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, IntPtr.Zero)) return null; } return cookieData.ToString(); } private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e) { richTextBox1.Text = string.Empty; if (cbcookie.Checked) { if (checkBox1.Checked) { richTextBox1.Text = GetCookieString(textBox1.Text.Trim()); } else { richTextBox1.Text = webBrowser1.Document.Cookie; } } } 复制代码 //本事件是当每次加载完成当前页面后才会执行的 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //e.Url是当前加载的页面, if (e.Url.ToString().Contains("http://www.3yeah.com")) { //执行操作1 } else if (e.Url.ToString().Contains("http://baidu.com")) { //执行操作2 } } 复制代码 private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { if (cbwindownew.Checked) { string url = ((System.Windows.Forms.WebBrowser)sender).StatusText; webBrowser1.Navigate(url); e.Cancel = true; } } 复制代码

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧