c#如何调用浏览器自动登录,或者如何把cookie传给浏览器访问网页?

stream2009 2009-01-04 01:16:06
应用程序已经模拟登陆了网站,并保存cookie,现在想打开web网页,并用已经保存的cookie访问web网页,不需要重新登陆。
请问c#能实现这个功能吗,如何实现?谢谢大家!
...全文
984 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
semir1122 2011-08-01
  • 打赏
  • 举报
回复
期待解决,同样问题。
yeah2000 2009-11-16
  • 打赏
  • 举报
回复
学习
随风v5 2009-10-23
  • 打赏
  • 举报
回复
正在努力看明白。。。
journeydj 2009-01-04
  • 打赏
  • 举报
回复
1,首先web页画面加载的校验是肯定要做的。
2,cookie不要弄成浏览器级别的。
stream2009 2009-01-04
  • 打赏
  • 举报
回复
各位高手可能问题我没有出清楚.
现在问题主要是这样的: 就是我的应用程序已经通过http请求模拟登陆成功并保存了cookie,现在想调用IE打开一个web界面,而不需要重新登陆,不知道这些cookie能否传给IE。
类似:msn登陆后,打开邮箱连接,不需要邮箱登陆一样。
simonezhlx 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 stream2009 的帖子:]
应用程序已经模拟登陆了网站,并保存cookie,现在想打开web网页,并用已经保存的cookie访问web网页,不需要重新登陆。
请问c#能实现这个功能吗,如何实现?谢谢大家!
[/Quote]
在登陆页面的onload事件中,加入脚本来处理检查COOKIE,完成登陆.
wonsoft 2009-01-04
  • 打赏
  • 举报
回复
c#中cookies的存取操作
c#中cookies的存取
cookies的创建:

在客户端创建一个username的cookies,其值为gjy,有效期为1天.
方法1:

Response.Cookies["username"].Value="zxf";
Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);

方法2:

System.Web.HttpCookie newcookie=new HttpCookie("username");
newcookie.Value="gjy";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);


创建带有子键的cookies:

System.Web.HttpCookie newcookie=new HttpCookie("user");
newcookie.Values["username"]="zxf";
newcookie.Values["password"]="111";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);


cookies的读取:

无子键读取:

if(Request.Cookies["username"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
}



有子键读取:

if(Request.Cookies["user"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));
}


wonsoft 2009-01-04
  • 打赏
  • 举报
回复
当然可以了,


cookies的创建:
在客户端创建一个username的cookies,其值为gjy,有效期为1天.
方法1:

Response.Cookies["username"].Value="zxf";
Response.Cookies["username"].Expires=DateTime.Now.AddDays(1);

方法2:

System.Web.HttpCookie newcookie=new HttpCookie("username");
newcookie.Value="gjy";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);


创建带有子键的cookies:

System.Web.HttpCookie newcookie=new HttpCookie("user");
newcookie.Values["username"]="zxf";
newcookie.Values["password"]="111";
newcookie.Expires=DateTime.Now.AddDays(1);
Response.AppendCookie(newcookie);


cookies的读取:

无子键读取:

if(Request.Cookies["username"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["username"].Value));
}


有子键读取:
[code]
if(Request.Cookies["user"]!=null)
{
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["username"].Value));
Response.Write(Server.HtmlEncode(Request.Cookies["user"]["password"].Value));
}
[/ode]
oyljerry 2009-01-04
  • 打赏
  • 举报
回复
直接打开IE,然后attach,填入url,就可以访问了.
whoami333 2009-01-04
  • 打赏
  • 举报
回复
最好采用启动ie然后自动登录的方式。捕获浏览器实例,将内容转换为domdocument,然后就好处理了。
Jack2013tong 2009-01-04
  • 打赏
  • 举报
回复
CookieContainer cookies = new CookieContainer();
CookieContainer reqcookies = new CookieContainer();
webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;

webRequest.CookieContainer = cookies;
这样试试

111,130

社区成员

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

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

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