一种表单处理的方法及装置的制造方法_2

文档序号:8361479阅读:来源:国知局
value标签的内容进行拼接,并获取编码类型、请求方法以及请求地址,构成所述表单的内容。
[0059]可选的,编码类型为标签Class的内容,请求方法为标签method的内容,请求地址为标签target的内容。
[0060]在获得表单的内容之后,还可以包括通过第一代码与本地通信接口,将表单的内容发送给本地进行处理。可以理解的,本地可以为应用程序所处的位置,相对的外地可以为浏览器内核,即浏览器内核与应用程序进行交互,将表单的内容发送给应用程序将截获的表单进行进一步处理。可选的,通过window, external, natify将表单的内容交给本地处理。
[0061 ] 继续参照附图2,执行步骤206。
[0062]步骤206,判断所述表单的内容的请求方法是否为第一方法。
[0063]可选的,当所述表单的内容的请求方法是第一方法时,则执行步骤207,当所述表单的内容的请求方法是第二方法时,则执行步骤208。
[0064]可选的,第一方法可以为post方法,第二方法可以为get方法,或者第一方法可以为get方法,第二方法可以为post方法。
[0065]步骤207,当所述表单的内容的请求方法为第一方法时,调用所述第一方法对应的实现逻辑。
[0066]步骤208,当所述表单的内容的请求方法为第二方法时,调用所述第二方法对应的实现逻辑。
[0067]步骤209,通过不同的实现逻辑将所述表单的内容进行组包,并创建新的浏览器控件发送提交表单的请求。
[0068]通过组包函数以及调用的不同的实现逻辑,将表单的内容进行组包。浏览器控件用于控制网页的展现。
[0069]步骤210,获取所述当前表单提交的页面的网址以及标题。
[0070]可选的,当前表单提交的页面的网址可以为统一资源定位符(Uniform/UniversalResource Locator, URL), URL为因特网上标准的资源的地址,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
[0071]步骤211,将当前表单提交的页面缓存到页面控制缓存中。
[0072]可选的,新的浏览器控件将当前表单提交的页面拉取完成之后,将拉取的当前表单提交的页面缓存到页面控制缓存中,页面控制缓存中用户保存网页历史浏览记录,网页历史浏览记录中可以保存网页的网址以及网页的标题。
[0073]步骤212,更新所述页面控制缓存中保存的网页历史浏览记录,并将所述网址以及所述标题添加到所述网页历史浏览记录最后。
[0074]需要说明的是,现有技术中在提交用户填写的表单时,会将表单提交后的网页替换掉当前的网页,这样浏览记录中缺失用户填写表单的网页,导致浏览历史堆栈不连续,本发明实施例通过截获用户提交的表单,重新构造新的浏览器控件,然后采用新的浏览器控件伪造发送提交表单的请求,使得可以获取缺失的用户填写表单的网页,使得保持网页历史浏览记录的完整性。
[0075]步骤213,将所述当前表单提交的页面替换之前正在浏览的页面。
[0076]可选的,将当前表单提交的页面替换之前正在浏览的页面,即为现有技术对表单提交之后的处理流程,本实施例中由于已经截获了提交的表单页面,因此可以获得完整的网页历史浏览记录。
[0077]本发明实施例提供一种表单处理的方法,通过在含有表单标签的当前网页源代码中添加第一代码,所述第一代码用于对事件进行监听;当接收到提交表单的请求后,通过所述第一代码获取所述表单的内容;将所述表单的内容通过新的浏览器控件发送提交表单的请求,并将当前表单提交的页面保存,使得可以解决现有技术中无法获得完整的网页浏览记录的问题。
[0078]本发明实施例提供一种表单处理的装置,该装置可以为移动终端,如图4所示,该装置包括:添加单元401,获取单元402,发送单元403,保存单元404。
[0079]添加单元401,用于在含有表单标签的当前网页源代码中添加第一代码,所述第一代码用于对事件进行监听;
[0080]可选的,在当前源代码中添加第一代码,具体添加的第一代码的位置不限制。第一代码可以为JavaScript代码,其中,javaScrip代码可以简写为JS代码。
[0081 ] 获取单元402,用于当接收到提交表单的请求后,通过所述第一代码获取所述表单的内容;
[0082]发送单元403,用于将所述表单的内容通过新的浏览器控件发送提交表单的请求;
[0083]保存单元404,用于将当前表单提交的页面保存。
[0084]进一步可选的,如图5所示,所述添加单元401,包括:扫描模块4011,判断模块4012,添加模块4013。
[0085]扫描模块4011,用于扫描当前网页,获取当前网页源代码;可选的,可以通过爬虫程序获取当前网页源代码。
[0086]判断模块4012,用于判断所述当前网页源代码中是否含有表单标签;可选的,表单标签可以为〈form>〈/form>。
[0087]添加模块4013,用于当所述当前网页源代码中含有表单标签时,在当前网页源代码中添加第一代码。
[0088]当当前网页源代码中不含有表单标签时,则不继续进行处理,结束流程。
[0089]进一步可选的,如图5所示,所述获取单元402,包括:监听模块4021,获取模块4022。
[0090]监听模块4021,用于监听是否存在提交表单的请求;
[0091]当接收到用户提交表单的请求后,采用第一代码的监听功能,获取表单的内容,可选的,通过第一代码的处理函数获取表单的内容。
[0092]获取模块4022,用于当接收到提交表单的请求后,通过所述第一代码中处理函数获取所述表单的内容。
[0093]进一步可选的,如图6所示,所述获取模块4022,包括:第一判断子模块40221,遍历子模块40222,第二判断子模块40223,获取子模块40224,编码子模块40225。
[0094]第一判断子模块40211,用于当接收到提交表单的请求后,判断所述请求中包括的表单是否为合法表单;
[0095]合法表单可以为账户与密码匹配的表单,例如可以正常登陆的表单,或者注册表单中各个选项符合注册标准的表单等。
[0096]遍历子模块40212,用于当所述表单为合法表单时,遍历表单内的标签;
[0097]第二判断子模块40213,用于判断所述表单中的标签是否为成功控件;
[0098]成功控件是指每个表单中的标签为input标签,并且input标签为非禁用标签,当标签为checkbox和rad1标签时,则必须checked==true,并且file必须有文件路径等。
[0099]获取子模块40214,用于当所述表单中的标签为成功控件时,获取所述表单中name标签以及value标签的内容;
[0100]编码子模块40215,用于当遍历完成所述表单内的所有标签时,对所述表单中name标签以及value标签的内容对不同的编码处理;
[0101]所述获取子模块40214,还用于将进行编码处理后的name标签以及value标签的内容进行拼接,并获取编码类型、请求方法以及请求地址,构成所述表单的内容。
[0102]进一步可选的,如图5所示,所述发送单元403,包括:判断模块4031,调用模块4032,发送模块4033。
[0103]判断模块4031,用于判断所述表单的内容的请求方法是否为第一方法;
[0104]调用模块4032,用于当所述表单的内容的请求方法为第一方法时,调用所述第一方法对应的实现逻辑;
[0105]所述第一方法为post方法,所述第二方法为get方法;或者,
[0106]所述第一方法为get方法,所述第二方法为post方法。
[0107]所述调用模块4032,还用于当所述表单的内容的请求方法为第二方法时,调用所述第二方法对应的实现逻辑;
[0108]发送模块4033,用于通过不同的实现逻辑将所述表单的内容进行组包,并创建新的浏览器控件发送提交表单的请求。
[0109]通过组包函数以及调用的不同的实现逻辑,将表单的内容进行组包。浏览器控件用于控制网页的展现。
[0110]进一步可选的,如图5所示,所述保存单元404,包括:获取模块4041,缓存模块4042,更新模块4043,添加模块4044,替换模块4045。
[0111]获取模块4041,用于获取所述当前表单提交的页面的网址以及标题;
[0112]可选的,当前表单提交的页面的网址可以为统一资源定位符URL,URL为因特网上标准的资源的地址,是用于完整地描述Internet上网页和其他资源的地址的一种标识方法。
[0113]缓存模块4042,用于将当前表单提交的页面缓存到页面控制缓存中;
[0114]页面控制缓存中用户保存网页历史浏览记录,网页历史浏览记录中可以保存网页的网址以及网页的标题。
[0115]更新模块4043,用于更新所述页面控制缓存中保存的网页
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1