用户使用基于浏览器的Web应用时,通过浏览器访问Web服务器,在服务器返回的页面中输入登录参数,并提交,然后由Web服务器的脚本程序进行验证,完成登录,例如电子邮件服务、企业Web应用等。
与Windows应用不同的是,Web应用中的所有元素和所有行为都被纳入了web浏览器(例如Intemet Explorer)的框架之中,对Web应用的管理也是操作系统通过Web浏览器实现的。为了实现与Intemet Explorer浏览器的交互,ActlveX控件引入了SHDocVw.DLL和mshtm1.DLL两个动态链接库,调用其方法和属性,实现Web应用的自动登录。
1 打开登录页面
首先用SHDocVw.DLL的IntemetExplorer接13创建一个引用,该引用指向一个IntemetExplorerClass类的实例。然后使用sHDocVw.DLL的IWebBrowserApp接13操纵此实例,通过IWebBrowserApp接13的Navigate方法,将网页导航到参数中指定的页面,即打开登录页面。
2 填入登录信息
web应用的登录页面是放在一个特定的表单(FORM)中,当用户填完登录信息后该表单就可以进行提交(submit)操作,表单中的注册信息内容就从客户端的浏览器传送到服务器上进行身份验证。要实现自动登录,就要找到填入登录信息的输入框,ActiveX 控件采用了mshtm1.DLL的IHTMLDocument2接口。
首先,创建接13实例,将网页的所有元素保存在实例中,然后调用接口的方法,按照参数中指定的输入框的名称查找相应的输入框。登录网页往往包含多个表单,为了保证所找到的文本输入框是参数指定的表单包含的,需在程序中进行判断,然后将参数中的登录信息赋值给相应的输入框。
填入登录信息后,在IHTMLDocument2接口实例中查找参数指定的表单,进而得到表单的action(action表示当表单SUBMIT(提交)后信息的接收者是谁,它可以是一个CGI程
序,或者是用ASP、JSP、PHP编写的脚本程序,专门进行身份验证)。如果action不为空,则执行submit操作。如果action为空,则在IHTMLDocument2接口实例中查找参数指定的登录按钮,并保证该按钮是在本表单内,然后模拟按钮单击事件,实现提交操作。
与Windows应用不同的是,Web应用中的所有元素和所有行为都被纳入了web浏览器(例如Intemet Explorer)的框架之中,对Web应用的管理也是操作系统通过Web浏览器实现的。为了实现与Intemet Explorer浏览器的交互,ActlveX控件引入了SHDocVw.DLL和mshtm1.DLL两个动态链接库,调用其方法和属性,实现Web应用的自动登录。
1 打开登录页面
首先用SHDocVw.DLL的IntemetExplorer接13创建一个引用,该引用指向一个IntemetExplorerClass类的实例。然后使用sHDocVw.DLL的IWebBrowserApp接13操纵此实例,通过IWebBrowserApp接13的Navigate方法,将网页导航到参数中指定的页面,即打开登录页面。
2 填入登录信息
web应用的登录页面是放在一个特定的表单(FORM)中,当用户填完登录信息后该表单就可以进行提交(submit)操作,表单中的注册信息内容就从客户端的浏览器传送到服务器上进行身份验证。要实现自动登录,就要找到填入登录信息的输入框,ActiveX 控件采用了mshtm1.DLL的IHTMLDocument2接口。
首先,创建接13实例,将网页的所有元素保存在实例中,然后调用接口的方法,按照参数中指定的输入框的名称查找相应的输入框。登录网页往往包含多个表单,为了保证所找到的文本输入框是参数指定的表单包含的,需在程序中进行判断,然后将参数中的登录信息赋值给相应的输入框。
填入登录信息后,在IHTMLDocument2接口实例中查找参数指定的表单,进而得到表单的action(action表示当表单SUBMIT(提交)后信息的接收者是谁,它可以是一个CGI程
序,或者是用ASP、JSP、PHP编写的脚本程序,专门进行身份验证)。如果action不为空,则执行submit操作。如果action为空,则在IHTMLDocument2接口实例中查找参数指定的登录按钮,并保证该按钮是在本表单内,然后模拟按钮单击事件,实现提交操作。