终于找到方法了,太高兴了,最近忙的,好久都没写博客了,现在必须写下此刻的心情。
通过研究,终于成功将后台的cookie传给了IE,刚开始我只知道微软一个类库中有一个InternetSetCookie函数,这个函数的功能就是设置IE浏览器的cookie,由于我们公司的一个网站只允许一个帐号同时只能登录一次,就是说同时登录两个,那么前一个就会踢下来,刚开始我就知道有InternetSetCookie函数可以设置IECookie的,但一直都没有成功, 由于之前工作太忙,然后就放弃了,直到今天回过头来再研究一下,我搜索了一网页,就在我喝茶的刹那间,希望就来了,这回真的来了,我搜索到这个帖子http://hi.baidu.com/breez888/item/65b3cdcce24ed210b77a2403,原来之前设置的Cookie没有加过期时间,所以才导致无法登录,
int year = DateTime.Now.Year;
year++;
USRobots.HttpHelper.InternetSetCookie(url, c.Name, c.Value + ";expires=Thu, 01-Jan-"+year+" 00:00:01 GMT");
C#函数声明:
[DllImport("wininet.dll",CharSet=CharSet.Auto,SetLastError=true)]
public static extern bool InternetSetCookie(string lpszUrlName,string lbszCookieName,string lpszCookieData);
读取HttpRequest中的CookieContainer容器中的
string url="http://********";
CookieCollection cc = cookies.GetCookies(new Uri(url));
foreach (Cookie c in cc)
{
int year = DateTime.Now.Year;
year++;
USRobots.HttpHelper.InternetSetCookie(url, c.Name, c.Value + ";expires=Thu, 01-Jan-"+year+" 00:00:01 GMT");//一定要加过期时间,否则无法登录
}
将过去时间在当前的的时间上在加上一年,这样就好了,真是太高兴了。
还是要非常感谢这两位博主:http://www.360doc.com/content/10/0505/17/11991_26218166.shtml,http://hi.baidu.com/breez888/item/65b3cdcce24ed210b77a2403
小弟真是太感谢你们了!茫茫程序之路,不平凡啊!