最近准备开发个站点自动登陆的小工具。
因为WebBrowser很直观,所以一开始就用它了。
期间遇到了2个问题。
1。如何判断网站数据载入完成
在DocumentCompleted事件中判断WebBrowser 控件属性 ReadyState 为 Complete 网站数据载入完成。
2。网站登陆失败的弹出窗口如何处理
找了很多资料都没有办法解决这个问题。不得已我用了HttpWebRequest + HttpWebResponse来比开这个问题 。
3.验证码问题
还没遇到,不清楚如何解决。网上说是用模式识别。估计就是这个了。等以后遇到了再说。
需要的两个小插件
IE下的是 ieHTTPHeaders ,我的是v1.62版本
FireFox下 Live HTTP Headers,在FireFox附加组件里可以下载
有了这两个东西,自动登陆就基本没问题了
代码网上有很多,我就不贴了,大家搜索下 HttpWebRequest自动登陆
另外今天在登陆Google获取帐户页(https://www.google.com/accounts/ManageAccount)代码时出现错误。
首先我有一个Google帐户登陆方法GoogleLogin();
还有一个GoogleGetPage()方法获取帐户页的网页源码。
这两个方法之间共享Cookies.所以本来认为不会出问题。
结果在GoogleGetPage()方法里面调用HttpWebRequest的GetResponse()方法时,出项了操作超时。
费了我好几个小时,都没弄好。实在不知道出了什么问题(用相同的代码,调试其他站点没出过问题)
最后我把两个方法合在一起,想看看会不会出问题。嗨,神了,没问题了。这个是怎么回事呢?立马有把两个方法分开再调试,问题消失了。
郁闷啊。有人遇到过跟我类似问题吗?
附:
Google登陆页面
Post:https://www.google.com/accounts/LoginAuth?continue=http%3A%2F%2Fwww.google.cn%2Fwebhp%3Fsource%3Dg_cn&hl=zh-CN
Referer:https://www.google.com/accounts/Login?continue=http://www.google.cn/webhp%3Fsource%3Dg_cn&hl=zh-CN
Google帐户页面
Get:https://www.google.com/accounts/ManageAccount
Referer:http://www.google.cn/webhp?source=g_cn