日期:2014-05-18  浏览次数:21007 次

如何实现在winform中模拟登陆网站后,浏览器打开该网站为已登录状态
如何在winform中用httpwebrequest
模拟登陆网站后,实现打开浏览器也默认为已登录啊,比如电脑上默认浏览器为谷歌浏览器或者火狐浏览器,当在winform中登陆网站后点击winfom上的网站链接在默认的浏览器中为已登录状态

就如同登陆QQ客户端后点击面板上的空间以及邮箱等等打开的浏览器页面均为已登录状态

------解决方案--------------------
使用httpwebrequest登录后,再用浏览打开也是登录状态,这个比较困难
但登录QQ客户端后点个按钮打开浏览器也是登录状态还是可以实现的,在客户端打开浏览器时把帐号和密码传到网站上登录
------解决方案--------------------
C# code
       
引用Microsoft Internet Controls

 private void button1_Click(object sender, EventArgs e)
        {
            SHDocVw.InternetExplorer ie = new InternetExplorer();

            object url = "http://xxxxx";
            object TargetFrame = "";
            string strPost = "username=a&password=b";
            Byte[] bytePostData = System.Text.UTF8Encoding.UTF8.GetBytes(strPost);
            object flg = null;
            object Headers = "Content-Type: application/x-www-form-urlencoded\r\n";
            object PostData = bytePostData;

            ie.Navigate2(ref url,ref flg ,ref TargetFrame,ref PostData, ref Headers);
            ie.Visible = true;
        }

------解决方案--------------------
探讨

这样是指定使用IE浏览器打开并post,可以直接使用用户设置的默认浏览器来操作吗?比如谷歌浏览器

------解决方案--------------------
探讨
我的思路还是正确的,将获取到的cookie设置进IE

------解决方案--------------------
httpwebrequest登陆后保留个Session
只要session不过期
再用什么浏览器打开都可以自动登录
------解决方案--------------------
同样关注这个问题

------解决方案--------------------
不好搞不好搞
------解决方案--------------------
探讨
这样是指定使用IE浏览器打开并post,可以直接使用用户设置的默认浏览器来操作吗?比如谷歌浏览器