CN115858964A - 页面访问方法、装置、设备和存储介质 - Google Patents
页面访问方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115858964A CN115858964A CN202111113819.5A CN202111113819A CN115858964A CN 115858964 A CN115858964 A CN 115858964A CN 202111113819 A CN202111113819 A CN 202111113819A CN 115858964 A CN115858964 A CN 115858964A
- Authority
- CN
- China
- Prior art keywords
- page
- login
- verification code
- headless browser
- target page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例公开了一种页面访问方法、装置、设备和存储介质。该方法包括:利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;在登录完成的情况下,接收网页服务端发送的认证信息;利用所述无头浏览器基于所述认证信息访问所述目标页面。该方法无需开发人员手动维护目标页面的静态cookie信息,节省了大量的人力成本,提高了前端页面的访问效率;同时,能够应对更为复杂的前端页面访问场景,更广泛的满足了实际使用需求。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种页面访问方法、装置、设备和存储介质。
背景技术
随着互联网信息技术的迅速发展,越来越多的网站应运而生。在此基础上,对网站的前端页面进行分析具有重要意义,例如,通过对网站的前端页面数据进行分析处理,能够提供诸如数据分析、智能推荐等数据服务。
目前,大部分前端页面都需要登录后才能够访问,即没有通过身份校验,则无法访问相应的前端页面。因此,可以预先为各前端页面设置相应的cookie信息,后续对前端页面的所有访问请求都携带该cookie信息。
但是,为了防止cookie信息泄露,每个前端页面的cookie信息均设置有相应的失效时间。当cookie信息失效后,若仍需要继续访问该前端页面,则需要重新为该前端页面设置相应的cookie信息,反复设置会耗费大量的人力成本,从而降低前端页面的访问效率。
发明内容
本公开提供一种页面访问方法、装置、设备和存储介质,可以实现前端页面登录状态持久化,提高前端页面的访问效率。
第一方面,本公开实施例提供了一种页面访问方法,包括:
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
在登录完成的情况下,接收网页服务端发送的认证信息;
利用所述无头浏览器基于所述认证信息访问所述目标页面。
第二方面,本公开实施例提供了一种页面访问装置,包括:
登录模块,用于利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
接收模块,用于在登录完成的情况下,接收网页服务端发送的认证信息;
访问模块,用于利用所述无头浏览器基于所述认证信息访问所述目标页面。
第三方面,本公开实施例提供了一种页面访问设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开实施例第一方面提供的页面访问方法的步骤。
第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例第一方面提供的页面访问方法的步骤。
本公开实施例提供的技术方案,通过无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以模拟验证码登录,从而获取网页服务端分配的动态的认证信息,并使用无头浏览器基于该动态的认证信息访问目标页面,以实现目标页面的登录状态持久化,无需开发人员手动维护目标页面的静态cookie信息,节省了大量的人力成本,提高了前端页面的访问效率;且适应于需要输入验证码的复杂登录场景,即能够模拟各种需要进行验证码登录的场景,如能够模拟图像验证码以及滑块验证码等各种复杂登录场景,更广泛的满足了实际使用需求,提高了前端页面访问的灵活性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的页面访问方法的一种流程示意图;
图2为本公开实施例提供的一种目标页面对应的登录页面的示意图;
图3为本公开实施例提供的获取滑块的滑动距离过程的一种流程示意图;
图4为本公开实施例提供的另一种目标页面对应的登录页面的示意图;
图5为本公开实施例提供的页面访问装置的一种结构示意图;
图6为本公开实施例提供的页面访问设备的一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
需要说明的是,下述方法实施例的执行主体可以是页面访问装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为电子设备的部分或者全部。可选的,该电子设备可以为客户端,包括但不限于智能手机、平板电脑、电子书阅读器以及车载终端等。当然,该电子设备也可以为独立的服务器或者服务器集群,本公开实施例对电子设备的具体形式不做限定。下述方法实施例以执行主体是电子设备为例进行说明。
图1为本公开实施例提供的页面访问方法的一种流程示意图。本实施例涉及的是电子设备如何访问目标页面的具体过程。如图1所示,该方法可以包括:
S101、利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录目标页面。
其中,所述登录页面为通过无头浏览器访问目标页面时所跳转出的页面。
在实际应用中,无头浏览器,也可以称为无界面浏览器,可以是一种没有显示界面的浏览器,但是能够通过提供的各种接口,实现一般界面浏览器所能实现的除界面显示外的所有功能,例如可以访问网页服务器等。
可选地,无头浏览器可以为如Puppeteer框架等。
这里,Puppeteer(木偶)是Google Chrome团队官方的无界面浏览器(Headless-Chrome),它是一个Node库,提供了一个高级的应用程序接口(Application ProgrammingInterface,API)来控制DevTools协议上的无头版Chrome,也可以配置为使用完整(非无头)的Chrome,它拥有Chrome浏览器所有的API使用权限。
在实际应用中,通过无头浏览器可以从预设数据库中获取需要访问的目标页面的统一资源定位符(Uniform Resource Locator,URL),并根据该URL加载目标页面。如果跳转到登录页面,则需要进行登录认证,若该登录页面内含有验证码,则表示登录认证过程中还需要进行验证码校验。其中,验证码(CAPTCHA)是“Completely Automated Public Turingtest totell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可选地,该验证码可以为图形验证码、滑块验证码、点触验证码和宫格验证码等,本实施例对验证码的形式不做限定。
在登录页面内加载出用于输入验证码的元素之后,电子设备可以利用无头浏览器模拟在对应的元素位置输入验证码,以登录目标页面。可选地,电子设备还可以利用无头浏览器在登录页面内输入登录账户信息以及利用无头浏览器在登录页面内执行登录触发操作。
其中,登录账户信息为用于标识登录目标页面的用户的身份标识。举例来说,登录账户信息可以是如用户名、密码等能够标识登录目标页面的用户的身份标识信息。也就是说,在登录页面内加载出用于输入登录账户信息以及用于触发登录操作的元素之后,电子设备可以利用无头浏览器模拟在对应的元素位置输入预设的用户名和密码(例如测试账号、密码),并利用无头浏览器模拟点击用于触发登录操作的元素,从而登录目标页面。
具体的,可以通过无头浏览器的模拟点击事件接口来模拟输入事件,触发执行对应的输入事件。其中,点击事件包括键盘点击事件和鼠标点击事件。例如,若登录页面中含有用于输入登录账户信息的输入框以及用于输入验证码的输入框,则电子设备可以利用无头浏览器的模拟输入事件接口模拟在登录页面中输入登录账户信息和验证码(如图2中验证码“58uv”);接着,若登录页面中含有用于提交操作的按钮(如“登录”按钮),则可以利用无头浏览器的模拟点击事件接口模拟用户在登录页面中点击提交,以使得无头浏览器将所输入的登录账户信息和验证码发送给网页服务端进行校验。
可选地,在上述S101之前,该方法还可以包括:获取登录页面对应的验证码信息。
其中,在目标页面的登录页面加载出验证码图像后,可以对该登录页面内的验证码图像进行图像识别,以得到对应的验证码信息。以图2所示的图形验证码为例(图2中的验证码由字母和数字组成),可以使用光学字符识别(Optical Character Recognition,OCR)技术对图形验证码进行识别,即对文本资料的图像文件进行分析识别处理,以获取验证码图像中的文本字符。在实际应用中,验证码图像中可能会含有一些干扰线条,这些干扰线条会影响验证码的识别。因此,可以将验证码图像转换成灰度图像,再对该灰度图像进行二值化处理,并对二值化处理后的图像进行OCR识别,从而得到验证码图像中的文本字符。如对图2中的验证码图像进行识别,得到的验证码信息为“58uv”。
当然,对于其它如滑块验证码,也可以通过预设算法计算获取登录页面对应的验证码信息。
S102、在登录完成的情况下,接收网页服务端发送的认证信息。
其中,登录完成即登录成功,用于表示网页服务端对电子设备通过无头浏览器输入的验证码校验通过。在登录完成的情况下,网页服务端会为该目标页面分配相应的认证信息,并返回给电子设备。例如,该认证信息可以为cookie信息。因此,电子设备可以利用无头浏览器模拟执行验证码输入操作以登录目标页面,从而获取网页服务端分配的动态cookie信息。
S103、利用所述无头浏览器基于所述认证信息访问所述目标页面。
其中,在接收到网页服务端发送的认证信息之后,电子设备可以利用无头浏览器基于目标页面的URL,并携带该认证信息向网页服务端发送访问请求,从而获取目标页面的页面数据。后续,可以基于该页面数据进行下一步地分析处理。
本公开实施例提供的技术方案,通过无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以模拟验证码登录,从而获取网页服务端分配的动态的认证信息,并使用无头浏览器基于该动态的认证信息访问目标页面,以实现目标页面的登录状态持久化,无需开发人员手动维护目标页面的静态cookie信息,节省了大量的人力成本,提高了前端页面的访问效率;且适应于需要输入验证码的复杂登录场景,即能够模拟各种需要进行验证码登录的场景,如能够模拟图像验证码以及滑块验证码等各种复杂登录场景,丰富了前端页面的访问场景,更广泛的满足了实际使用需求,提高了前端页面访问的灵活性。
在实际应用中,为了避免每次访问目标页面时都需要进行登录,在一种可选地实施例中,电子设备还可以利用无头浏览器缓存认证信息,并基于缓存的认证信息对目标页面进行下一次访问。
也就是说,当后续需要对该目标页面再次进行访问时,电子设备可以从无头浏览器缓存中获取为该目标页面分配的认证信息,并基于目标页面的URL,以该认证信息向网页服务端发送访问请求。在接收到访问请求后,网页服务端核查认证信息,以确认电子设备的登录状态。在确认电子设备处于登录状态下,网页服务端向前端(即上述的电子设备)返回目标页面的页面数据。因此,该方式可以避免每次访问目标页面时都需要重新登录的问题,从而实现目标页面登录状态的持久化。
因此,仅需要开发人员为每个前端页面配置一次登录账户信息,在需要对前端页面进行访问时,则可以通过无头浏览器模拟在前端页面对应的登录页面内输入登录账户信息(登录账户信息例如可以是测试账户信息)、执行验证码输入操作以及执行登录触发操作,以登录前端页面,即可从网页服务端中获取动态的认证信息,后续使用该动态的认证信息就可以实现前端页面登录状态持久化。
在实际应用中,为了确保认证信息的安全性,上述认证信息会存在对应的失效时间,在失效时间到达后,上述认证信息会失效。此时,若要继续访问该目标页面,则需要重新进行登录。为了进一步实现前端页面登录状态持久化,电子设备还可以利用无头浏览器按照预设时间间隔或预设频次对目标页面执行预设操作,以延长上述认证信息的失效时间。
可选地,该预设操作可以为对象选择操作,例如,刷新操作和/或点击操作等。上述预设时间间隔或预设频次可以基于实际需求进行设置。需要说明的是,上述预设操作与网页服务端所配置的策略相关,若网页服务端中配置的策略是:通过刷新操作可以延长认证信息的失效时间,则可以通过无头浏览器对目标页面执行刷新操作。
以预设操作为刷新操作为例,电子设备利用无头浏览器基于目标页面的URL,以上述认证信息向网页服务端发送访问请求,在获取到目标页面后,按照预设时间间隔或预设频次对目标页面执行刷新操作,从而延长该目标页面对应的认证信息的失效时间。
在本实施例中,电子设备可以利用无头浏览器按照预设时间间隔或预设频次对访问的目标页面执行预设操作,以延长该目标页面对应的认证信息的失效时间。这样,后续需要再次访问该目标页面时,可以利用无头浏览器以上述认证信息进行免登录访问,从而进一步提高了前端页面的访问效率。
可选地,目标页面的登录页面内所展示的验证码可以为滑块验证码。滑块验证码登录属于较为复杂的登录场景,暂无相关方案能够有效支持这种复杂的登录场景。针对此情况,作为一种可选地实施方式,上述获取登录页面对应的验证码信息的过程可以为:根据登录页面内所展示的验证码图像获取滑动初始位置和滑动结束位置。
其中,滑块是滑块验证码中的一部分,滑动初始位置可以理解为滑块开始进行滑动的位置,滑动结束位置可以理解为滑块结束滑动的位置。在实际应用中,电子设备可以基于验证码图像的亮度和轮廓特点等特征来识别滑块的滑动初始位置和滑动结束位置。
对应地,上述S101的具体过程可以为:利用无头浏览器控制滑块由滑动初始位置滑动至滑动结束位置。
通常,登录页面内的元素可以基于元素标识来获取,因此,在得到滑动初始位置和滑动结束位置之后,电子设备可以基于滑块标识在登录页面内定位到滑块,并利用无头浏览器控制滑块由滑动初始位置滑动至滑动结束位置,以进行滑动验证。
在本实施例中,对于需要输入滑块验证码进行登录的目标页面,还可以对该目标页面的登录页面内所展示的验证码图像进行识别,得到滑动初始位置和滑动结束位置,并利用无头浏览器控制滑块由上述滑动初始位置滑动至上述滑动结束位置,以模拟登录目标页面,即本方案能够应对需要输入滑块验证码的复杂登录场景,进一步提高了前端页面的访问效率。
作为另一种可选地实施方式,上述获取登录页面对应的验证码信息的过程可以为:根据登录页面内所展示的验证码图像获取滑块的滑动距离。
对应地,上述S101的具体过程可以为:利用无头浏览器控制所述滑块按照所述滑动距离进行滑动。
参见图3,可选地,电子设备获取滑块的滑动距离的过程可以包括以下步骤:
S301、对登录页面内所展示的验证码图像中的像素点进行遍历,确定颜色值位于预设范围的像素点,形成初始像素点集。
其中,预设范围可以基于实际滑块验证码中的滑块缺口的特征进行设置。通常,滑块缺口的边缘轮廓是白色的,且没有透明度,因此,形成滑块缺口的边缘轮廓的像素点的颜色值通常在255左右,允许带有一定的偏差值,例如偏差值可以设置为25。
示例性地,以上述偏差值为25,即预设范围为[230,255]为例,遍历验证码图像中的像素点,确定出颜色值位于[230,255]的像素点,过滤掉不在该预设范围内的像素点,从而形成初始像素点集。
S302、从所述初始像素点集中筛选出位置连续的像素点,形成候选像素点集。
通常,滑块缺口的边缘轮廓是闭合的,也就是说,形成滑块缺口的边缘轮廓的像素点的位置是连续的。基于该特征,可以从初始像素点集中筛选出位置连续的像素点,形成候选像素点集。
例如,可以从初始像素点集中筛选出横坐标值连续的像素点,形成候选像素点集。
S303、根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离。
通常,滑块位于验证码背景图的边缘,当确定出一个候选像素点集时,可以认为该候选像素点集中的像素点是形成滑块缺口的像素点。在确定出滑块缺口的位置信息后,可以将该候选像素点集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。通常,可以将形成滑块缺口的像素点集中横坐标最小的像素点的横坐标值,与形成滑块的像素点集中横坐标最小的像素点的横坐标值之差,确定为滑块的滑动距离。当以滑块为坐标原点时,就可以将其简化为:将形成滑块缺口的像素点集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离,即将上述候选像素点集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
当确定出多个候选像素集时,可以按照下述过程确定滑块的滑动距离。在上述实施例的基础上,可选地,上述S303可以为:当确定出多个候选像素集时,将多个候选像素集中横坐标值最大的像素点所属的候选像素集确定为目标候选像素集;将所述目标候选像素集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
通过对登录页面内所展示的验证码图像中的像素点的颜色值进行识别,就可以识别出验证码图像中的滑块缺口(即候选像素点集),并且仅通过对比候选像素点集中的横坐标值,就可以快速便捷地确定出滑块的滑动距离,即滑块验证码信息获取算法简单,且耗时较短,提高了滑块验证码信息的获取效率,对于需要模拟验证码登录的前端页面来说,提高了前端页面的访问效率。
通常,滑块与滑块缺口的边缘特征比较相似,此时可能会确定出多个候选像素集,考虑到滑块缺口一般位于滑块的右侧,即形成滑块缺口的像素点的横坐标值大于形成滑块的像素点的横坐标值。因此,可以从多个候选像素集中选取横坐标值最大的像素点所属的候选像素集,并将选取的候选像素集确定为目标候选像素集。可以理解的是,基于滑块缺口与滑块的相对位置,可以认为该目标候选像素集中的像素点是形成滑块缺口的像素点。这样,在确定出滑块缺口的位置信息后,可以将该目标候选像素点集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
通常,登录页面内的元素可以基于元素标识来获取,其中,页面内的文本、图像、音频、动画、视频、交互按钮以及超链接等都可以认为是页面内的元素。对于登录页面来说,滑块也可以认为是页面内的一种元素。因此,在得到滑块的滑动距离之后,参见图4,电子设备可以基于滑块标识在登录页面内定位到滑块,并利用无头浏览器控制滑块按照上述滑动距离进行滑动,以执行滑动验证。
在本实施例中,对于需要输入滑块验证码进行登录的目标页面,还可以对该目标页面的登录页面内所展示的验证码图像进行识别,得到滑块的滑动距离,并利用无头浏览器控制滑块按照上述滑动距离进行滑动,以模拟登录目标页面,即本方案能够应对需要输入滑块验证码的复杂登录场景,进一步提高了前端页面的访问效率,更广泛的满足了实际使用需求。
图5为本公开实施例提供的页面访问装置的一种结构示意图。如图5所示,该装置可以包括:登录模块501、接收模块502和访问模块503。
具体的,登录模块501用于利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
接收模块502用于在登录完成的情况下,接收网页服务端发送的认证信息;
访问模块503用于利用所述无头浏览器基于所述认证信息访问所述目标页面。
本公开实施例提供的页面访问装置,通过无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以模拟验证码登录,从而获取网页服务端分配的动态的认证信息,并使用无头浏览器基于该动态的认证信息访问目标页面,以实现目标页面的登录状态持久化,无需开发人员手动维护目标页面的静态cookie信息,节省了大量的人力成本,提高了前端页面的访问效率;且适应于需要输入验证码的复杂登录场景,即能够模拟各种需要进行验证码登录的场景,如能够模拟图像验证码以及滑块验证码等各种复杂登录场景,丰富了前端页面的访问场景,更广泛的满足了实际使用需求,提高了前端页面访问的灵活性。
在上述实施例的基础上,可选地,该装置还包括:缓存模块。
具体的,缓存模块用于利用所述无头浏览器缓存认证信息;
访问模块503还用于基于缓存的所述认证信息对所述目标页面进行下一次访问。
在上述实施例的基础上,可选地,该装置还包括:处理模块。
具体的,处理模块用于利用所述无头浏览器按照预设时间间隔对所述目标页面执行预设操作,以延长所述认证信息的失效时间。
在上述实施例的基础上,可选地,该装置还包括:获取模块。
具体的,获取模块用于在登录模块501利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作之前,获取所述登录页面对应的验证码信息。
在上述实施例的基础上,可选地,所述验证码为滑块验证码;
具体的,获取模块具体用于根据登录页面内所展示的验证码图像获取滑动初始位置和滑动结束位置;
登录模块501具体用于利用无头浏览器控制滑块由所述滑动初始位置滑动至所述滑动结束位置。
在上述实施例的基础上,可选地,所述验证码为滑块验证码;
获取模块具体用于根据登录页面内所展示的验证码图像获取滑块的滑动距离;
登录模块501具体用于利用无头浏览器控制所述滑块按照所述滑动距离进行滑动。
在上述实施例的基础上,可选地,获取模块可以包括:第一确定单元、第二确定单元和第三确定单元。
具体的,第一确定单元用于对登录页面内所展示的验证码图像中的像素点进行遍历,确定颜色值位于预设范围的像素点,得到初始像素点集;
第二确定单元用于从所述初始像素点集中筛选出位置连续的像素点,得到候选像素点集;
第三确定单元用于根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离。
在上述实施例的基础上,可选地,第三确定单元具体用于当确定出多个候选像素集时,将多个候选像素集中横坐标值最大的像素点所属的候选像素集确定为目标候选像素集;将所述目标候选像素集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
在上述实施例的基础上,可选地,登录模块501还用于利用无头浏览器在所述登录页面内输入登录账号信息及利用无头浏览器在所述登录页面内执行登录触发操作。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置606加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置606;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置606被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
在一个实施例中,提供了一种页面访问设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
在登录完成的情况下,接收网页服务端发送的认证信息;
利用所述无头浏览器基于所述认证信息访问所述目标页面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用所述无头浏览器缓存认证信息;基于缓存的所述认证信息对所述目标页面进行下一次访问。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用所述无头浏览器按照预设时间间隔对所述目标页面执行预设操作,以延长所述认证信息的失效时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述登录页面对应的验证码信息。
在一个实施例中,所述验证码为滑块验证码;处理器执行计算机程序时还实现以下步骤:根据登录页面内所展示的验证码图像获取滑动初始位置和滑动结束位置;利用无头浏览器控制滑块由所述滑动初始位置滑动至所述滑动结束位置。
在一个实施例中,所述验证码为滑块验证码;处理器执行计算机程序时还实现以下步骤:根据登录页面内所展示的验证码图像获取滑块的滑动距离;利用无头浏览器控制所述滑块按照所述滑动距离进行滑动。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对登录页面内所展示的验证码图像中的像素点进行遍历,确定颜色值位于预设范围的像素点,得到初始像素点集;从所述初始像素点集中筛选出位置连续的像素点,得到候选像素点集;根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当确定出多个候选像素集时,将多个候选像素集中横坐标值最大的像素点所属的候选像素集确定为目标候选像素集;将所述目标候选像素集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用无头浏览器在所述登录页面内输入登录账号信息及利用无头浏览器在所述登录页面内执行登录触发操作。
在一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
在登录完成的情况下,接收网页服务端发送的认证信息;
利用所述无头浏览器基于所述认证信息访问所述目标页面。
上述实施例中提供的页面访问装置、设备以及存储介质可执行本公开任意实施例所提供的页面访问方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本公开任意实施例所提供的页面访问方法。
根据本公开的一个或多个实施例,提供一种页面访问方法,包括:
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
在登录完成的情况下,接收网页服务端发送的认证信息;
利用所述无头浏览器基于所述认证信息访问所述目标页面。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:利用所述无头浏览器缓存认证信息;基于缓存的所述认证信息对所述目标页面进行下一次访问。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:利用所述无头浏览器按照预设时间间隔对所述目标页面执行预设操作,以延长所述认证信息的失效时间。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:获取所述登录页面对应的验证码信息。
可选地,所述验证码为滑块验证码;根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:根据登录页面内所展示的验证码图像获取滑动初始位置和滑动结束位置;利用无头浏览器控制滑块由所述滑动初始位置滑动至所述滑动结束位置。
可选地,所述验证码为滑块验证码;根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:根据登录页面内所展示的验证码图像获取滑块的滑动距离;利用无头浏览器控制所述滑块按照所述滑动距离进行滑动。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:对登录页面内所展示的验证码图像中的像素点进行遍历,确定颜色值位于预设范围的像素点,得到初始像素点集;从所述初始像素点集中筛选出位置连续的像素点,得到候选像素点集;根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:当确定出多个候选像素集时,将多个候选像素集中横坐标值最大的像素点所属的候选像素集确定为目标候选像素集;将所述目标候选像素集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
根据本公开的一个或多个实施例,提供了如上的页面访问方法,还包括:利用无头浏览器在所述登录页面内输入登录账号信息及利用无头浏览器在所述登录页面内执行登录触发操作。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种页面访问方法,其特征在于,包括:
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
在登录完成的情况下,接收网页服务端发送的认证信息;
利用所述无头浏览器基于所述认证信息访问所述目标页面。
2.根据权利要求1所述的方法,其特征在于,还包括:
利用所述无头浏览器缓存认证信息;
基于缓存的所述认证信息对所述目标页面进行下一次访问。
3.根据权利要求1所述的方法,其特征在于,还包括:
利用所述无头浏览器按照预设时间间隔对所述目标页面执行预设操作,以延长所述认证信息的失效时间。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作之前,还包括:
获取所述登录页面对应的验证码信息。
5.根据权利要求4所述的方法,其特征在于,所述验证码为滑块验证码;
获取登录页面对应的验证码信息,包括:根据登录页面内所展示的验证码图像获取滑动初始位置和滑动结束位置;
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,包括:利用无头浏览器控制滑块由所述滑动初始位置滑动至所述滑动结束位置。
6.根据权利要求4所述的方法,其特征在于,所述验证码为滑块验证码;
获取登录页面对应的验证码信息,包括:根据登录页面内所展示的验证码图像获取滑块的滑动距离;
利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,包括:利用无头浏览器控制所述滑块按照所述滑动距离进行滑动。
7.根据权利要求6所述的方法,其特征在于,根据登录页面内所展示的验证码图像获取滑块的滑动距离,包括:
对登录页面内所展示的验证码图像中的像素点进行遍历,确定颜色值位于预设范围的像素点,得到初始像素点集;
从所述初始像素点集中筛选出位置连续的像素点,得到候选像素点集;
根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离。
8.根据权利要求7所述的方法,其特征在于,所述根据所述候选像素点集中横坐标值最小的像素点的位置信息,确定滑块的滑动距离,包括:
当确定出多个候选像素集时,将多个候选像素集中横坐标值最大的像素点所属的候选像素集确定为目标候选像素集;
将所述目标候选像素集中横坐标值最小的像素点的横坐标值确定为滑块的滑动距离。
9.根据权利要求1所述的方法,其特征在于,还包括:
利用无头浏览器在所述登录页面内输入登录账号信息,及利用无头浏览器在所述登录页面内执行登录触发操作。
10.一种页面访问装置,其特征在于,包括:
登录模块,用于利用无头浏览器在目标页面对应的登录页面内执行验证码输入操作,以登录所述目标页面;
接收模块,用于在登录完成的情况下,接收网页服务端发送的认证信息;
访问模块,用于利用所述无头浏览器基于所述认证信息访问所述目标页面。
11.一种页面访问设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111113819.5A CN115858964A (zh) | 2021-09-23 | 2021-09-23 | 页面访问方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111113819.5A CN115858964A (zh) | 2021-09-23 | 2021-09-23 | 页面访问方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858964A true CN115858964A (zh) | 2023-03-28 |
Family
ID=85652941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111113819.5A Pending CN115858964A (zh) | 2021-09-23 | 2021-09-23 | 页面访问方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858964A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951414A (zh) * | 2024-03-27 | 2024-04-30 | 杭州玳数科技有限公司 | 一种网站页面性能检测方法、*** |
-
2021
- 2021-09-23 CN CN202111113819.5A patent/CN115858964A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951414A (zh) * | 2024-03-27 | 2024-04-30 | 杭州玳数科技有限公司 | 一种网站页面性能检测方法、*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581291A (zh) | 数据处理方法、装置、电子设备及可读介质 | |
JP2015534691A (ja) | コンピューティング・デバイスについてのセキュアな識別およびセキュアな識別方法 | |
CN111163324B (zh) | 信息处理方法、装置和电子设备 | |
CN111740992B (zh) | 网站安全漏洞检测方法、装置、介质及电子设备 | |
CN111459364B (zh) | 图标更新方法、装置和电子设备 | |
CN111833507B (zh) | 访客认证方法、装置、设备及计算机可读存储介质 | |
CN112597047A (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
US20180046525A1 (en) | Fast and accurate identification of message-based api calls in application binaries | |
CN111858381B (zh) | 应用程序容错能力测试方法、电子设备及介质 | |
CN115102744B (zh) | 数据访问方法和装置 | |
CN110674481B (zh) | 一种应用程序的账号注册方法、装置、设备和存储介质 | |
CN115858964A (zh) | 页面访问方法、装置、设备和存储介质 | |
CN114428925A (zh) | 页面渲染方法、装置、电子设备和计算机可读介质 | |
CN111783010B (zh) | 网页空白页面监测方法、装置、终端及存储介质 | |
CN110855655B (zh) | 一种信息验证方法、装置、设备和存储介质 | |
CN111311358A (zh) | 信息处理方法、装置和电子设备 | |
CN113031950B (zh) | 一种图片生成方法、装置、设备及介质 | |
CN114302207A (zh) | 一种弹幕显示方法、装置、***、设备及存储介质 | |
CN112379967A (zh) | 模拟器检测方法、装置、设备及介质 | |
CN113806189B (zh) | 用户界面操作监控方法、装置、设备和存储介质 | |
CN112819693B (zh) | 滑动验证码生成方法、装置、电子设备和计算机可读介质 | |
CN110874433A (zh) | 信息处理方法及其***、计算机***及计算机可读介质 | |
CN110532475B (zh) | 一种信息预估方法、装置、电子设备及存储介质 | |
CN110855767B (zh) | 一种操作请求的响应方法、装置、设备和存储介质 | |
CN118035969A (zh) | 应用鉴权方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |