C#中webbrowser控件cookie问题
写了个winform程序,主界面上有Button1和Button2按钮,点击分别弹出dialog1和dialog2
dialog1中有个webbrowser控件,url=http://www.xici.net和一个"确认登陆"按钮
dialog2中也有个webbrowser控件,url=http://user.xici.net/mail/sendto.asp"
现在我点击Button1进入dialog1中,正确登陆西祠后,点击"确认登陆"按钮关闭了dialog1,返回主界面
确认登陆按钮代码如下:
private void ok_Click(object sender, EventArgs e)
{
string mystr = null;
this.cookie = this.webBrowser1.Document.Cookie;
if (this.cookie == null) return;
string[] cookstr = cookie.Split(';');
foreach (string str in cookstr)
{
string[] cookieNameValue = str.Split('=');
if (cookieNameValue.Length != 2) continue;
Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
if(cookieNameValue[0].Trim().ToString() == "uid")
{
if (cookieNameValue[1].Trim().ToString() != "0")
{
mystr = cookieNameValue[1].Trim().ToString();
}
}
ck.Domain = ".xici.net";//必须写对
cc.Add(ck);
//ck.Expires = DateTime.Now.AddHours(1);
}
if (mystr != null) MessageBox.Show("确认登录成功,返回主界面");
else MessageBox.Show("登陆失败,请重新登陆");
this.DialogResult = DialogResult.OK;
}
dialog2(窗口名称是message)中默认函数代码如下
public Message()
{
InitializeComponent();
this.webBrowser1.Navigate("http://user.xici.net/mail/sendto.asp");
}
现在的问题是,我在点击Button1进入dialog1并且正确登陆西祠,点击确认登陆并且关闭dialog1后,点击进入dialog2,dialog的webbrowser无法显示http://user.xici.net/mail/sendto.asp的内容,我试着将url换成http://www.baidu.com可以显示,只要不是xici.net域名下的都能显示,我也试着不点击Button1进入dialog,直接点击Button2进入dialog2,http://user.xici.net/mail/sendto.asp这个页面可以显示,这样看来,应该就是cookie那边出了问题,哪位仁兄帮着解决下,
dialog1中有个webbrowser控件,url=http://www.xici.net和一个"确认登陆"按钮
dialog2中也有个webbrowser控件,url=http://user.xici.net/mail/sendto.asp"
现在我点击Button1进入dialog1中,正确登陆西祠后,点击"确认登陆"按钮关闭了dialog1,返回主界面
确认登陆按钮代码如下:
private void ok_Click(object sender, EventArgs e)
{
string mystr = null;
this.cookie = this.webBrowser1.Document.Cookie;
if (this.cookie == null) return;
string[] cookstr = cookie.Split(';');
foreach (string str in cookstr)
{
string[] cookieNameValue = str.Split('=');
if (cookieNameValue.Length != 2) continue;
Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
if(cookieNameValue[0].Trim().ToString() == "uid")
{
if (cookieNameValue[1].Trim().ToString() != "0")
{
mystr = cookieNameValue[1].Trim().ToString();
}
}
ck.Domain = ".xici.net";//必须写对
cc.Add(ck);
//ck.Expires = DateTime.Now.AddHours(1);
}
if (mystr != null) MessageBox.Show("确认登录成功,返回主界面");
else MessageBox.Show("登陆失败,请重新登陆");
this.DialogResult = DialogResult.OK;
}
dialog2(窗口名称是message)中默认函数代码如下
public Message()
{
InitializeComponent();
this.webBrowser1.Navigate("http://user.xici.net/mail/sendto.asp");
}
现在的问题是,我在点击Button1进入dialog1并且正确登陆西祠,点击确认登陆并且关闭dialog1后,点击进入dialog2,dialog的webbrowser无法显示http://user.xici.net/mail/sendto.asp的内容,我试着将url换成http://www.baidu.com可以显示,只要不是xici.net域名下的都能显示,我也试着不点击Button1进入dialog,直接点击Button2进入dialog2,http://user.xici.net/mail/sendto.asp这个页面可以显示,这样看来,应该就是cookie那边出了问题,哪位仁兄帮着解决下,
...全文
相关推荐
C#获取WebBrowser中的cookie和userAgent
C#代码获取WebBrowser中的 cookie和userAgent 参数,方法和请求类
C#清除WebBrowser中Cookie缓存的方法
主要介绍了C#清除WebBrowser中Cookie缓存的方法,涉及C#针对WebBrowser控件的操作技巧,非常简单实用,需要的朋友可以参考下
C# webbrowser实现自动登录淘宝
不含有第三方插件,用自带的Webbrowser实现; 代码简单易懂;
C#实现标签式IE浏览器
这是一个用C#编写的仿IE标签式多页面浏览器的完整源码,实现了基本的浏览器功能,对于想开发类似功能的朋友,是个不错的示范。
用C#定制一个简单的浏览器源程序,IE内核
内容索引:C#源码,系统相关,IE,浏览器 用C#定制一个简单的浏览器源程序,IE内核,实现了基本的也是最常用的功能,像后退、前进、刷新、回到主页、打英页面设置、查看属性、保存网页等。


