Advertisement

Python中实现登录及保存Cookie方法的实例演示

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本教程通过实例详细讲解了如何使用Python编写代码来实现用户登录功能,并展示如何获取和保存Cookies以维持会话状态。 在Python编程中,登录网站并保存Cookie是一种常见的需求,特别是在自动化测试、数据抓取或模拟用户行为时。本段落将详细讲解如何使用Python实现12306登录并保存Cookie的方法,以便于后续的请求能够保持登录状态。 我们要了解Cookie的作用。在Web应用程序中,Cookie是一种用于存储用户状态的小型文本段落件,服务器将其发送到客户端(通常是浏览器),客户端在后续请求中将其返回,以告知服务器用户的状态。在12306网站上,登录后服务器会分配一个或多个Cookie,如RAIL_EXPIRATION和RAIL_DEVICEID,用于识别已登录的用户。 以下是一个简单的Python类`Ticket`,用于演示12306登录过程: ```python import sys import time import requests from PIL import Image import json class Ticket: def __init__(self): # 初始化答案字典(此处假设是验证码答案) self.answer = {...} self.answer_code = self.tk = def getDEVICEID(self): # 获取DEVICEID,通常是从服务器获取并设置为Cookie r = requests.get(url=UrlUtils.DEVICE_url, headers=Headers.BaseHead).text dic = json.loads(r[18:-2].replace( , )) return dic.get(dfp, ) # 返回设备ID def initialize(self): # 初始化,设置必要Cookie device_id = self.getDEVICEID() if not device_id: print(网络获取指纹失败!使用默认id) # 使用默认值 RAIL_EXPIRATION = 1576651914389 RAIL_DEVICEID = lBJStCNl0YGo_HVkGtwOo2LWziXcwzpIk5gc2vAILNYdRfaeZ04nJtZ1JZwgQIssMDksn10rAz6Hz-bekeufhAusaKJId8f2BCg05ocgrzc8-chv8h4IB-lQ9H04XjLXr2fbnHw-SLZga3PewEfgPz2s-mhp7NAz else: print(网络获取指纹成功!) RAIL_EXPIRATION = device_id.get(exp) RAIL_DEVICEID = device_id.get(dfp) # 将Cookie保存到SessionUtil中,这是一个自定义的会话管理工具 SessionUtil.setCookie(RAIL_EXPIRATION, RAIL_EXPIRATION) SessionUtil.setCookie(RAIL_DEVICEID, RAIL_DEVICEID) def conf(self): # 配置相关请求 res = SessionUtil.session.post(url=UrlUtils.Conf_url, data=None, headers=Headers.ConFHeader) def uamtkstatic(self): # UAMTK静态方法,用于获取认证票据 data = {appid: otn} SessionUtil.session.post(url=UrlUtils.UamtkStatic_url, data=data, headers=Headers.UamtkStaticHead) def get_img_code(self): # 下载并保存验证码图片 try: img = SessionUtil.session.get(url=UrlUtils.Down_mg_url, headers=Headers.BaseHead).content with open(code.jpg, wb) as f: f.write(img) except Exception: print(下载图片错误!等待重试~~) time.sleep(1) self.get_img_code() def check_img(self): # 显示验证码图片供用户识别 try: Image.open(code.jpg).show() except Exception: time.sleep(1) self.check_img() # ...其他方法,如输入验证码、提交登录等 ``` 这个`Ticket`类包含了初始化设备ID、配置请求、获取认证票据、下载验证码图片以及显示验证码等步骤。为了完整实现登录功能,还需要添加处理验证码输入、提交登录请求等相关方法。 在实际操作中,`Headers`、`SessionUtil`和`UrlUtils`是自定义的辅助模块,分别用于管理HTTP请求头、会话状态和URL路径。通过使用这些工具类可以简化复杂的网络交互过程,并确保代码结构清晰且易于维护。利用requests库中的Session对象来管理Cookie可以帮助我们在后续的请求中保持登录状态。 Python实现12306登录并保存Cookie的关键在于正确地构造HTTP请求,包括设置必要的请求头、处理验证码和提交登录信息等步骤。同时,通过使用自定义工具类可以简化开发流程,并确保代码结构清晰且易于维护。在实际应用时,应根据12306网站的实际接口和策略进行适当的调整以保证兼容性和有效性。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PythonCookie
    优质
    本教程通过实例详细讲解了如何使用Python编写代码来实现用户登录功能,并展示如何获取和保存Cookies以维持会话状态。 在Python编程中,登录网站并保存Cookie是一种常见的需求,特别是在自动化测试、数据抓取或模拟用户行为时。本段落将详细讲解如何使用Python实现12306登录并保存Cookie的方法,以便于后续的请求能够保持登录状态。 我们要了解Cookie的作用。在Web应用程序中,Cookie是一种用于存储用户状态的小型文本段落件,服务器将其发送到客户端(通常是浏览器),客户端在后续请求中将其返回,以告知服务器用户的状态。在12306网站上,登录后服务器会分配一个或多个Cookie,如RAIL_EXPIRATION和RAIL_DEVICEID,用于识别已登录的用户。 以下是一个简单的Python类`Ticket`,用于演示12306登录过程: ```python import sys import time import requests from PIL import Image import json class Ticket: def __init__(self): # 初始化答案字典(此处假设是验证码答案) self.answer = {...} self.answer_code = self.tk = def getDEVICEID(self): # 获取DEVICEID,通常是从服务器获取并设置为Cookie r = requests.get(url=UrlUtils.DEVICE_url, headers=Headers.BaseHead).text dic = json.loads(r[18:-2].replace( , )) return dic.get(dfp, ) # 返回设备ID def initialize(self): # 初始化,设置必要Cookie device_id = self.getDEVICEID() if not device_id: print(网络获取指纹失败!使用默认id) # 使用默认值 RAIL_EXPIRATION = 1576651914389 RAIL_DEVICEID = lBJStCNl0YGo_HVkGtwOo2LWziXcwzpIk5gc2vAILNYdRfaeZ04nJtZ1JZwgQIssMDksn10rAz6Hz-bekeufhAusaKJId8f2BCg05ocgrzc8-chv8h4IB-lQ9H04XjLXr2fbnHw-SLZga3PewEfgPz2s-mhp7NAz else: print(网络获取指纹成功!) RAIL_EXPIRATION = device_id.get(exp) RAIL_DEVICEID = device_id.get(dfp) # 将Cookie保存到SessionUtil中,这是一个自定义的会话管理工具 SessionUtil.setCookie(RAIL_EXPIRATION, RAIL_EXPIRATION) SessionUtil.setCookie(RAIL_DEVICEID, RAIL_DEVICEID) def conf(self): # 配置相关请求 res = SessionUtil.session.post(url=UrlUtils.Conf_url, data=None, headers=Headers.ConFHeader) def uamtkstatic(self): # UAMTK静态方法,用于获取认证票据 data = {appid: otn} SessionUtil.session.post(url=UrlUtils.UamtkStatic_url, data=data, headers=Headers.UamtkStaticHead) def get_img_code(self): # 下载并保存验证码图片 try: img = SessionUtil.session.get(url=UrlUtils.Down_mg_url, headers=Headers.BaseHead).content with open(code.jpg, wb) as f: f.write(img) except Exception: print(下载图片错误!等待重试~~) time.sleep(1) self.get_img_code() def check_img(self): # 显示验证码图片供用户识别 try: Image.open(code.jpg).show() except Exception: time.sleep(1) self.check_img() # ...其他方法,如输入验证码、提交登录等 ``` 这个`Ticket`类包含了初始化设备ID、配置请求、获取认证票据、下载验证码图片以及显示验证码等步骤。为了完整实现登录功能,还需要添加处理验证码输入、提交登录请求等相关方法。 在实际操作中,`Headers`、`SessionUtil`和`UrlUtils`是自定义的辅助模块,分别用于管理HTTP请求头、会话状态和URL路径。通过使用这些工具类可以简化复杂的网络交互过程,并确保代码结构清晰且易于维护。利用requests库中的Session对象来管理Cookie可以帮助我们在后续的请求中保持登录状态。 Python实现12306登录并保存Cookie的关键在于正确地构造HTTP请求,包括设置必要的请求头、处理验证码和提交登录信息等步骤。同时,通过使用自定义工具类可以简化开发流程,并确保代码结构清晰且易于维护。在实际应用时,应根据12306网站的实际接口和策略进行适当的调整以保证兼容性和有效性。
  • JavaCookie简易
    优质
    本示例展示如何使用Java编程语言轻松实现基于Cookie的用户登录功能,包括设置、获取和删除Cookie的方法,适合初学者参考学习。 本段落主要介绍了如何使用Java进行模拟cookie登录的操作,并通过实例详细分析了相关原理与基本实现技巧。有需要的朋友可以参考一下。
  • HTMLUnitCookie模拟
    优质
    简介:本文介绍了使用HTMLUnit进行网站Cookie登录模拟的方法,适用于自动化测试和数据爬取场景。通过具体代码示例讲解了如何抓取、设置Cookie完成用户认证过程。 在使用HTMLUnit进行模拟登录操作时,可以通过创建Cookie对象来存储和读取cookie值。例如: ```java Cookie c = new Cookie(wsyyuser.xywy.com, PHPSESSID, Common.getValue(session_id)); ``` 这段代码的作用是创建一个名为PHPSESSID的cookie,并将从Common类中获取到的session_id值赋给它,以便进行登录操作。
  • JavaScript利用Cookie储用户信息
    优质
    本实例演示了如何使用JavaScript和Cookie技术来保存用户的登录状态,实现网页端的自动登录功能。 本段落实例讲述了使用JavaScript通过Cookie保存用户登录信息的方法,并分享给大家供参考。 通常,在Web开发过程中会用到cookie和session来存储相关信息。其中,session存在于服务器的内存中,而cookie则是储存在客户端,因此可以利用JavaScript直接操作cookie进行数据的存取与读取。例如,设置单个键值对时可使用如下代码:document.cookie=userName=admin; 若需同时保存多个键值对,则格式为: document.cookie=userName=admin; userPass=123。 以下是一个简单的实例展示如何利用JavaScript操作cookie来存储用户的登录信息: ```html 使用Cookie保存用户登录信息 ```
  • JavaScript利用Cookie储用户信息
    优质
    本实例详细讲解了如何使用JavaScript结合Cookie技术来实现网站用户的登录信息存储功能。通过设置和获取Cookie值,可以简化用户体验并增强网站的功能性。 本段落主要介绍了如何使用JavaScript的Cookie来保存用户登录信息,并通过具体的实例分析了在JavaScript中利用Cookie存储与读取用户信息的相关操作技巧。希望对需要这方面知识的朋友有所帮助。
  • 在SpringBoot利用Cookie记住功能代码
    优质
    本篇文章提供了一个使用Spring Boot框架结合Cookie来实现“记住我”登录功能的具体代码示例。通过这种方式可以简化用户的登录流程,在用户同意的情况下,无需每次手动输入账号密码即可直接进入系统。文中详细介绍了如何在后端设置和读取含有用户信息的Cookie,并确保其安全传输与存储。 本段落介绍了在SpringBoot中使用Cookie实现记住登录功能的示例代码,并详细解释了相关操作流程。对于学习或工作中需要了解该主题的人来说,具有一定的参考价值。希望读者能通过此文掌握所需知识和技术要点。
  • PHP简易SESSION与COOKIE验证
    优质
    本实例详细讲解了如何使用PHP语言来创建一个简单的用户登录系统,其中包括会话(Session)和Cookie的运用。通过设置、读取以及销毁Session与Cookie,确保用户的登录状态得以安全有效地管理。适合初学者理解服务器端脚本技术在网页交互中的应用。 本段落主要介绍了如何使用PHP实现超简单的SESSION与COOKIE登录验证功能,并结合实例详细分析了利用cookie与session进行登录验证的操作步骤及注意事项。有兴趣的朋友可以参考此内容以获取相关知识和技术指导。
  • Python网页
    优质
    本篇文章介绍了如何使用Python编程语言实现自动化网页登录的过程,包括选择合适的库、发送HTTP请求以及处理Cookies等关键步骤。适合对网络爬虫和自动化测试感兴趣的读者学习参考。 有些网页需要你登录之后才能访问,你需要提供账户和密码。只要在发送HTTP请求时带上含有正常登陆的cookie就可以了。 首先我们要了解cookie的工作原理:Cookie是由服务器端生成,然后发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本段落件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器就可以知道该用户是否合法用户以及是否需要重新登录等。 之后我们要获取到用户正常登录的cookie。
  • Python网页
    优质
    本文章介绍了如何使用Python编程语言来自动化网页登录过程,包括常用的库如requests和Selenium等工具的应用方法。 今天分享一篇关于如何用Python实现登录网页的方法,具有一定的参考价值,希望能为大家提供帮助。我们一起看看吧。
  • Oracle单点
    优质
    本示例详细介绍如何在Oracle环境中配置和实施单点登录(SSO)系统,便于用户高效访问多个应用与服务,同时简化身份验证流程。 Oracle单点登录(Single Sign-On, SSO)的演示示例及所需框架包可以在提供的压缩文件内找到。关于具体的使用方法,请参考该文件内的readme文档。