千家信息网

python怎么实现登录界面

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本文小编为大家详细介绍"python怎么实现登录界面",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现登录界面"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2025年02月04日python怎么实现登录界面

本文小编为大家详细介绍"python怎么实现登录界面",内容详细,步骤清晰,细节处理妥当,希望这篇"python怎么实现登录界面"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

第一种:直接请求

点击登录会发送请求,参数看上图

实际提交的参数, 看下图,图中圈出来的基本都是可以找到的,就在请求的 HTML 中。

而 fp 参数和 eid 参数实际是固定的。所以可以直接写死。看到了一个 pubKey ,我觉得看到这个玩意基本都能猜到这是一个 RSA 加密了,加密的就是 密码了,

然后还有一个 seqSid 参数 和 一个 authcode 参数

seqSid 参数是个接口返回的响应内容,全局搜索 _jdtdmap_sessionId 就会找到这个接口。

authcode 这个参数就是滑动之后生成的参数,也是最恶心的一个参数。

authcode 参数来源:

请求 URL:

参数:

响应:validate 就是 authcode

这个请求参数中实际只有 d 参数是最重要的,其他的就比较简单了。

c: 是获取验证码图片时返回的 challenge 参数。 slide/g.html

bg 和 patch 就分别是背景图和缺口形状的图片

识别这个距离的代码,是从网上复制的,忘了是从哪里来的了。

    def test_demo_cv2(self):        """        得到缺口位置        :return:        """        block = cv2.imread("bg.jpg", 0)        template = cv2.imread("patch.jpg", 0)        w, h = template.shape[::-1]        # 二值化后的图片名称        blockName = "block.jpg"        templateName = "template.jpg"        # 将二值化后的图片进行保存        cv2.imwrite(blockName, block)        cv2.imwrite(templateName, template)        block = cv2.imread(blockName)        block = cv2.cvtColor(block, cv2.COLOR_RGB2GRAY)        block = abs(255 - block)        cv2.imwrite(blockName, block)        block = cv2.imread(blockName)        template = cv2.imread(templateName)        # 获取偏移量        result = cv2.matchTemplate(block, template,                                   cv2.TM_CCOEFF_NORMED)  # 查找block在template中的位置,返回result是一个矩阵,是每个点的匹配结果        x, y = np.unravel_index(result.argmax(), result.shape)        cv2.rectangle(block, (y, x), (y + w, x + h), (7, 249, 151), 2)        cv2.imshow('block', block)        cv2.waitKey(0)        print("x方向的偏移", int(y * 0.4 + 18), 'x:', x, 'y:', y)        return y

但是有时候不准确。

w: 验证码的宽,固定 280

appID: 固定值

product:固定值

scene: 固定值

e: 固定值

s: 全局搜索 _jdtdmap_sessionId

都是页面中值。

最后说一下 d , d 的位置:在 slide.js 中,名字中间有版本号,没写

g 的值

这也就是轨迹了列表了,对轨迹列表进行加密生成了 d 参数

轨迹列表的特点:

第一组,坐标 x 是固定的

最后一组 x - 第一组的 x = 滑动的距离

y 的值变化很小

生成轨迹的方法很多,但是好像能百度到的都没有什么用了。

生成轨迹列表后,传递参数到加密的函数中,返回加密的参数 d

加密的函数位置:

读到这里,这篇"python怎么实现登录界面"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0