问题描述
c#模拟hTTP登录成功获取到cookie信息后如何写入浏览器保持登录状态就是我的应用程序已经通过http请求模拟登陆成功并保存了cookie,现在想调用IE打开一个web界面,而不需要重新登陆,不知道这些cookie能否传给IE。
解决方案
解决方案二:
传个key过去登录
解决方案三:
1.查看你的工具,如何在你的浏览器查找dom、插入一个dom、插入一个<scripttype=text/javascript>,以及如何运行一个js函数。2.不支持初学者钻研这类程序。最好还是学点正规的、合法软件的开发技术,找个正规点的公司去上班。
解决方案四:
我理解不是传给浏览器,而是把cookie放到你的web请求对象上去请求
解决方案五:
publicstaticboolStartIE(CookieContainercc,stringurl){try{List<Cookie>TempCookies=CookieMD.GetAllCookies(cc);foreach(CookieiinTempCookies.ToArray()){CookieMD.InternetSetCookie("http://xxxx.com",//这里写目标地址的domain比如http://weibo.comhttp://qq.comi.Name.ToString(),i.Value.ToString()+";expires=Sun,22-Feb-209900:00:00GMT");}Process.Start("iexplore.exe",url);returntrue;}catch{returnfalse;}}[DllImport("wininet.dll",CharSet=CharSet.Auto,SetLastError=true)]publicstaticexternboolInternetSetCookie(stringlpszUrlName,stringlbszCookieName,stringlpszCookieData);
不客气、
解决方案六:
引用楼主pengyi349123的回复:
c#模拟hTTP登录成功获取到cookie信息后如何写入浏览器保持登录状态就是我的应用程序已经通过http请求模拟登陆成功并保存了cookie,现在想调用IE打开一个web界面,而不需要重新登陆,不知道这些cookie能否传给IE。
引用楼主pengyi349123的回复:
c#模拟hTTP登录成功获取到cookie信息后如何写入浏览器保持登录状态就是我的应用程序已经通过http请求模拟登陆成功并保存了cookie,现在想调用IE打开一个web界面,而不需要重新登陆,不知道这些cookie能否传给IE。
http://blog.csdn.net/shaily/article/details/2390536
解决方案七:
给cookiecontaiiner赋值
解决方案八:
winnet给浏览器设置cookie,四楼的方法可行,我用过,但是这应该是全局的cookie
解决方案:
publicstaticList<Cookie>GetAllCookies(CookieContainercc){List<Cookie>lstCookies=newList<Cookie>();Hashtabletable=(Hashtable)cc.GetType().InvokeMember("m_domainTable",System.Reflection.BindingFlags.NonPublic|System.Reflection.BindingFlags.GetField|System.Reflection.BindingFlags.Instance,null,cc,newobject[]{});foreach(objectpathListintable.Values){SortedListlstCookieCol=(SortedList)pathList.GetType().InvokeMember("m_list",System.Reflection.BindingFlags.NonPublic|System.Reflection.BindingFlags.GetField|System.Reflection.BindingFlags.Instance,null,pathList,newobject[]{});foreach(CookieCollectioncolCookiesinlstCookieCol.Values)foreach(CookiecincolCookies)lstCookies.Add(c);}returnlstCookies;}
差点忘记把这方法发出来。