新手:获取cookie的值,请大家看看为什么获取不到

cwchyt 2008-03-28 11:33:28
为什么string aa 最后的结果为null?怎样才能显示为cookie的值?

private string url;
private string cookie;

WebBrowser web = new WebBrowser();

//获取页面的cookie
public void get_cookie()
{
get_web();

string aa = cookie;

}

private void get_web()
{
url = "http://my.blog.sina.com.cn/myblog/user_login_info_v3.4.php";
web.Navigate(url);
web.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(jiazai);

}
private void jiazai(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.cookie = web.Document.Cookie;
return;

}
...全文
181 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwchyt 2008-04-02
  • 打赏
  • 举报
回复
没有合适答案,结贴给分
cwchyt 2008-03-28
  • 打赏
  • 举报
回复
对了,在事件中,this.cookie = web.Document.Cookie;
cookie的值肯定是有的
cwchyt 2008-03-28
  • 打赏
  • 举报
回复
现在需要的是WebBrowser中的cookie,然后利用httpwebrequest登陆,但是WebBrowser中的cookie保存不到变量a中,应该怎样才能保存进去呢,或许我这个代码本身写的就有问题,但是找不到原因,请大家给分析下,并修改代码
jinmiwa 2008-03-28
  • 打赏
  • 举报
回复
this.cookie = web.Document.Cookie;

web.Document.Cookie的值肯定为null;

先建一个"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);
}

你试试。我没试过

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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