声明:我用的是vs2005,开发C/S桌面应用程序。问题是这样,我应用程序上有 webbrowser1 webbrowser2 两个对象,我用webbrowser1用于登录验证,当webbrowser1登录成功后,webbrowser2自动转到其中一个业务页面上,
即:当 webbrowser1 的 http://192.168.0.1/login.aspx 页面自动登录完成后,直接在webbrowser1 的 DocumentCompleted 里面写 webbrowser2.navigate("http://192.168.0.1/ops/input.aspx"), 但是,当webbrowser2 在加载时,出现 “页面超时,请重新登录”的提示。
如果我在 webbrowser1 里面,用鼠标手工点击进去,链接到 这个业务页面是可以的,但在 webbrowser2 里面却不行。还有,我在上面说,在 webbrowser1 里面,用鼠标手工点击进去,链到业务页是可以的,但因为需要点击很多地方才可以,所以太麻烦,我换了一种方式,当 webbrowser1 的 http://192.168.0.1/login.aspx 页面自动登录完成后,直接在webbrowser1 的 DocumentCompleted 里面作了判断,如果登录成功,就让当前登录窗口直接转入业务地址
即 webbrowser1.navigate("http://192.168.0.1/ops/input.aspx"),但也出现 “页面超时,请重新登录”的提示。因此,我怀疑是 webbrowser1.navigate 在加载网页的时候,并没有继承上一次打开的相关信息,也可能是这个网站在设计的时候,是不是做了屏蔽,请问如何解决?(顺便说一句,我在其它网站上,上述操作都可以正常完成的。如果我在IE中操作,也一样,同一窗口登录后,里面的手工操作正常,但如果在一个窗口登录成功后,新开一个窗口,然后直接填写内部的业务地址的话,也出现“页面超时,请重新登录”的提示。)
即:当 webbrowser1 的 http://192.168.0.1/login.aspx 页面自动登录完成后,直接在webbrowser1 的 DocumentCompleted 里面写 webbrowser2.navigate("http://192.168.0.1/ops/input.aspx"), 但是,当webbrowser2 在加载时,出现 “页面超时,请重新登录”的提示。
如果我在 webbrowser1 里面,用鼠标手工点击进去,链接到 这个业务页面是可以的,但在 webbrowser2 里面却不行。还有,我在上面说,在 webbrowser1 里面,用鼠标手工点击进去,链到业务页是可以的,但因为需要点击很多地方才可以,所以太麻烦,我换了一种方式,当 webbrowser1 的 http://192.168.0.1/login.aspx 页面自动登录完成后,直接在webbrowser1 的 DocumentCompleted 里面作了判断,如果登录成功,就让当前登录窗口直接转入业务地址
即 webbrowser1.navigate("http://192.168.0.1/ops/input.aspx"),但也出现 “页面超时,请重新登录”的提示。因此,我怀疑是 webbrowser1.navigate 在加载网页的时候,并没有继承上一次打开的相关信息,也可能是这个网站在设计的时候,是不是做了屏蔽,请问如何解决?(顺便说一句,我在其它网站上,上述操作都可以正常完成的。如果我在IE中操作,也一样,同一窗口登录后,里面的手工操作正常,但如果在一个窗口登录成功后,新开一个窗口,然后直接填写内部的业务地址的话,也出现“页面超时,请重新登录”的提示。)
解决方案 »
- 如何让自己的windows控件响应键盘事件?
- C# 锁定文本框
- 如何控制form的位置
- winform里可以使用HtmlEncode这个函数吗?
- 散分了:c#中怎样把打印机指令发给打印机!
- 求各位大神,怎样设置easyui datagrid跳转到最后一页呢
- 报错:WMPLib.dll 类型库导入程序遇到无有效返回类型的属性
- C#怎么从RabbitMQ中获取当前所有队列?
- 需求类似windows explore东东
- C# Winfrom中webBrowser1如何捕获js代码中的windows.open()里的url
- Crystal Report 长条图 Y轴刻度
- 从父窗体进入子窗体时指定tabcontrol的tabpage
我也是瞎猜,不知道大家能不能给想个方法?
问题主要是出现在网站这一块
通过手工点击是可以使用的,
自动切换页面还是不行,如果我直接登录后,在同一个 webbrowser1 中也不能用 webbrowser1.navigate("http://192.168.0.1/ops/input.aspx"),同样会出现 “页面超时,请重新登录”的提示。
还有就是,能不能通过在 webbrowser1 加载登录完成页面的时候,向网页里面写入一段 javascript 代码来实现,
比如: <script language="javascript" src="../funs.js" type="text/javascript">
this.window.location.href='http://192.168.0.1/ops/input.aspx';
</script>
感觉有点像写病毒!!!