多用户网站自动登录器及其实现方法技术

技术编号:9520641 阅读:131 留言:0更新日期:2014-01-01 17:56
本发明专利技术公开了一种多用户网站自动登录器及其实现方法,包括证书组装模块、Cookies信息池、用户信息存取模块和模版信息读取模块;其中,所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;所述Cookies信息池,为一个映射(map)结构,其键(key)为网站域名,数值(value)为一个个的子map结构,所述子map结构每条记录的key是用户的用户名和密码的哈希值,所述value为一个cookie信息的字符串;用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的信息。利用本发明专利技术,能够支持批量用户以占用系统资源尽可能少的情况下快速登录新站点并实现多用户自动登录。

【技术实现步骤摘要】
多用户网站自动登录器及其实现方法
本专利技术涉及互联网通信
,尤其涉及一种多用户网站自动登录器及其实现方法,使用计算机语言java进行的系统实现,其作用不仅限于将携带用户认证信息、特殊请求信息、异步post数据请求,自动登录指定站点,而且还专注于cookie信息有效性验证,信息池的建立和维护。
技术介绍
在大数据时代,有很多需要获取网络信息的应用场景,网站也需要越来越多的注册用户来体现自己的价值,要求站点信息或者资源需要用户登录后才能看到。现在比较常用的方法是模拟浏览器实现post请求。这是最基本的实现思路,也是比较费时的一种做法,并且无法实现批量的用户登录。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种多用户网站自动登录器及其实现方法,能够支持批量用户以占用系统资源尽可能少的情况下快速登录新站点并实现多用户自动登录。为达到上述目的,本专利技术的技术方案是这样实现的:一种多用户网站自动登录器,主要包括证书组装模块、cookie信息池、用户信息存取模块和模版信息读取模块;其中,所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;所述cookie信息池,为一个映射map结构,其键key为网站域名,数值value为一个个的子map结构,所述子map结构每条记录的键key是用户的用户名和密码的哈希值,所述value为一个cookie信息的字符串;用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的信息。其中,所述用户信息包括登录网站用的用户名和密码信息。所述数据来源为文件或数据库。一种多用户网站自动登录方法,包括如下步骤:A、进入系统前先查看需要的cookie信息,并判断cookie信息池是否为空;若为空,则执行步骤G;否则,执行步骤B;B、加载相应网站的登录模版,以映射map结构放在内存中,键key为网站域名,数值value为模版的字符串信息,然后执行步骤C;C、从用户信息的数据源读取数据,用户的网站用户名,密码以及网站本身的域名信息,并将其放入队列中等待被调用;D、根据用户信息和模版信息批量组装证书;E、拿到证书后,若为Form表单方式的登录,则按照需要还要根据模版从登录页面提取一些信息,然后发送一次post请求,得到网站服务器的响应,拿到cookie信息;F、将批量的cookie信息放入到cookie信息池中;G、系统结束。其中,执行步骤F后,所述cookie信息池中具有所有用户的登录cookie。步骤D所述根据用户信息和模版信息批量组装证书,具体为从用户信息队列批量取出记录,按照域名从模版内存map中拿到相应网站的模版信息。步骤E进一步包括,拿到证书后,若为NTLM表单方式的登录则不需。本专利技术所提供的多用户网站自动登录器及其实现方法,具有以下优点:将本专利技术应用于爬虫爬取带有用户登录的系统中,在爬取企业网站系统时,自动携带用户的信息分别进行系统登录。同一个系统的登录方式一致,如果每个用户登录一次都要分析登录方式,存在大量的重复分析工作,不仅浪费了磁盘IO,还会导致每次爬取的时等待认证时间加长。另外登录成功后查看各个页面,如果需要每个页面每次去请求登录,也是会造成大量的浪费,通过本专利技术的自动识别登录之后,不仅需要分析的工作少了,速度提升了,并且依然能够知道用户该以怎样的方式登录,用户登录查看其它页面时,最快速度的携带获取认证信息,为企业搜索的权限文件获取提供了支持。应用本专利技术,还能够解决这样一种需求:有些需要测试站点自动注册,注册有效性,可以通过本系统进行大量模拟真实的流程测试,节省人力成本,从而保证系统的承压及功能真实有效性。附图说明图1为本专利技术的多用户网站自动登录器的功能框图;图2为利用本专利技术进行多用户网站自动登录的实现过程示意图。具体实施方式下面结合附图及本专利技术的实施例对本专利技术的方法作进一步详细的说明。在需要登录的网站用户有很多的情况,我们做了如下改进:将一个站点登录需要的认证信息,及请求方式,记录为模版信息。然后在访问相同站点信息时,只需替换模版中的用户名和密码信息,组装为认证证书即可完成登录,这样就实现了一定的自动化。当登录成功后,如果断开与目标网站的连接,你的会话在目标网站被删除,再次访问资源时会要求你重新登录,例如常见的浏览器。其实在登录之后,目标网站会分发给你一个cookie,当你的超文本传输协议(http)请求访问带着cookie时,就可以访问这些资源。但是浏览器对于一个目标网站只能缓存一个用户的信息。我们则需要将大量的cookie信息缓存,来做批处理数据,在我们的系统中会有一个cookie信息池来做这项工作。这里,所述cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该cookie给服务器(前提是浏览器设置为启用cookie)。本专利技术作为一种计算机系统的应用工具,其基于http请求,cookie信息池,主要解决Form表单验证和NTLM验证。Form表单验证是基于Post请求设计的,是当前较为普遍的一种验证方式,当前大部分浏览器/服务器(B/S)结构的网站注册登录注册都是通过这种方式提交到服务器。这里,NTLM是WindowsNT早期版本的标准安全协议,是Windows2000内置三种基本安全协议之一本系统认证模版基于http请求。目前apache公司的httpclient也实现了两种验证的登录,但是对于批量的登录还是不够智能,不够效率。而且本系统不仅限于发送用户密码等数据到模版,针对一些特殊网站的登录需要请求时携带页面源码中的部分标识信息(ID),还有些需要当前时间戳等信息,通过模版智能学习实现更大范围的站点自动登录。本专利技术为解决上述问题还采用了如下技术。1、Form表单验证:基于http、安全超文本传输协议(https)定义了与服务器交互的不同方法,最基本的方法是GET和POST,Form表单验证数据属于敏感数据的传输,以POST请求为方式,将数据放置在HTMLHEADER内提交,同时没有限制请求提交的数据长度。2、NTLM验证:NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你自己的帐户和密码登录。3、业务逻辑设计:(1)用户登录一个站点,首先去cookie信息池中查找认证缓存,若有直接访问,若无执行步骤(2)。(2)读取配置好的登录模版,将登录认证模版放到一个内存map中,从数据库拿到批量的用户信息,组装批量认证证书,登录成功后,并将cookie值放入cookie信息池。(3)当继续访问该用户下的其它页面数据,直接从cookie信息池中取出认证缓存,实现访问信息。避免多次认证,同时不用相同认证模版多次组装。大大优化了性能。(4)当多用户分别登陆过站点后,cookie信息池中会保存各自的认证登录信息,当爬虫系统或者其他系统,再来访问该用户信息的时候,直接调用cookie信息池中的认证缓存信息,即可实现无登陆访问个人信息页面。但是要注意的是,cookie信息池中的认证缓存,部分会有时效性。这样在调用cookie认证不成功的情况下,仅需重新执行访问本文档来自技高网...
多用户网站自动登录器及其实现方法

【技术保护点】
一种多用户网站自动登录器,其特征在于,主要包括证书组装模块、Cookies信息池、用户信息存取模块和模版信息读取模块;其中,所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;?所述Cookies信息池,为一个映射map结构,其键key为网站域名,数值value为一个个的子map结构,所述子map结构每条记录的键key是用户的用户名和密码的哈希值,所述value为一个cookie信息的字符串;?用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的信息。

【技术特征摘要】
1.一种多用户网站自动登录器,其特征在于,主要包括证书组装模块、cookie信息池、用户信息存取模块和模版信息读取模块;其中,所述证书组装模块,用于获取用户信息、网站本身的域名信息和模版信息来组装证书;所述cookie信息池,为一个映射map结构,其键key为网站域名,数值value为一个个的子map结构,所述子map结构每条记录的键key是用户的用户名和密码的哈希值,所述子map结构每条记录的数值value为一个cookie信息的字符串;用户信息存取模块,用于从数据来源读取需要用户的用户名和密码信息;及模版信息读取模块,用于从数据来源读取所需要的模版信息;其中,所述模版信息为一个站点登录需要的认证信息及请求方式。2.根据权利要求1所述多用户网站自动登录器,其特征在于,所述用户信息包括登录网站用的用户名和密码信息。3.根据权利要求1所述多用户网站自动登录器,其特征在于,所述数据来源为文件或数据库。4.一种多用户网站自动登录方法,其特征在于,包括如下步骤:A、进入系统前先查看需要的cookie信息,并判断cookie信息池是否为空;若为空,则执行步骤G;否则,执行步骤B;B、加载相应网站的登录模版...

【专利技术属性】
技术研发人员:李勋李大鹏张楠陈朋辉刘秀磊
申请(专利权)人:北京鹏宇成软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1