Python cookie的保存与读取、SSL讲解


Posted in Python onFebruary 17, 2020

一、cookie的保存与读取

1.cookie的保存-FileCookie.Jar

from urllib import request,parse

from http import cookiejar

#创建cookiejar实例

filename = "cookie.txt"

cookie = cookiejar.MozillaCookieJar(filename)

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#创建http请求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#创建请求管理器

opener = request.build_opener(http_handler,https_handler,cookie_handler)

​

def login():

 """

 负责初次登录

 需要输入用户名密码

 :return:

 """

 url = "http://www.renren.com/PLogin.do"

 data = {

 "email":"1215217867@qq.com",

 "password":"481648541615485"

 }

 #把数据进行编码

 data = parse.urlencode(data)

 #创建一个请求对象

 req = request.Request(url,data=data.encode())

 #使用opener发起请求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及时cookie将要被丢弃也要保存下来

 #ignore_expire表示如果该文件中cookie即使已经过期,保存

 cookie.save(ignore_discard=True,ignore_expires=True)

​

def getHomePage():

 url = "http://www.renren.com/965187997/profile"

 #如果已经执行了login函数,则opener自动已经包含相应的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

 with open("rsp.html","w") as f:

 f.write(html)

​

if __name__ == "__main__":

 """

 执行完login之后,会得到授权之后的cookie

 我们尝试把cookie打印出来

 """

 login()

 getHomePage()

Python cookie的保存与读取、SSL讲解

2.cookie的读取

from urllib import request,parse

from http import cookiejar

#创建cookiejar实例

cookie = cookiejar.MozillaCookieJar()

cookie.load("cookie.txt",ignore_discard=True,ignore_expires=True)

​

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#创建http请求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#创建请求管理器

opener = request.build_opener(http_handler,https_handler,cookie_handler)

​

def login():

 """

 负责初次登录

 需要输入用户名密码

 :return:

 """

 url = "http://www.renren.com/PLogin.do"

 data = {

 "email":"1215217867@qq.com",

 "password":"481648541615485"

 }

 #把数据进行编码

 data = parse.urlencode(data)

 #创建一个请求对象

 req = request.Request(url,data=data.encode())

 #使用opener发起请求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及时cookie将要被丢弃也要保存下来

 #ignore_expire表示如果该文件中cookie即使已经过期,保存

 cookie.save(ignore_discard=True,ignore_expires=True)

​

def getHomePage():

 url = "http://www.renren.com/965187997/profile"

 #如果已经执行了login函数,则opener自动已经包含相应的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

 with open("rsp.html","w") as f:

 f.write(html)

​

​

if __name__ == "__main__":

 """

 执行完login之后,会得到授权之后的cookie

 我们尝试把cookie打印出来

 """

 # login()

 getHomePage()

改代码读取了保存的cookie文件,并且​访问网页成功。

二、SSL

1.什么是SSL

(1)SSL证书就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer)

(2)该证书是由美国网景公司开发

(3)CA(CertifacateAuthority)是数字证书认证中心,是发放、管理、废除数字证书的收信人的​第三方机构。

(4)遇到不信任的SSL证书,可以用代码进行忽略掉

from urllib import request

#导入python ssl处理模块

import ssl

#利用非认证上下文环境替换认证的下文环境

ssl._create_default_https_context = ssl._create_unverified_context

url = "https://www.12306.cn/mormhweb/"

rsp = request.urlopen(url)

​

html = rsp.read().decode()

​

print(html)

Python cookie的保存与读取、SSL讲解

三、源码

Reptitle7_1_SaveCookie.py

Reptitle7_2_LoadCookie.py

Reptitle7_3_SSLAnalysis.py

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
python 判断是否为正小数和正整数的实例
Jul 23 Python
Python set常用操作函数集锦
Nov 15 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
Python unittest单元测试框架总结
Sep 08 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
Python 3.8 新功能全解
Jul 25 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
Python如何使用OS模块调用cmd
Feb 27 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 02 Python
python基础之//、/与%的区别详解
Jun 10 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 #Python
Python交互环境下打印和输入函数的实例内容
Feb 16 #Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 #Python
基于python实现微信好友数据分析(简单)
Feb 16 #Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 #Python
python中的 zip函数详解及用法举例
Feb 16 #Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 #Python
You might like
php基础知识:类与对象(5) static
2006/12/13 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
Python的多维空数组赋值方法
2018/04/13 Python
对python多线程与global变量详解
2018/11/09 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
对python中的装包与解包实例详解
2019/08/24 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
python map比for循环快在哪
2020/09/21 Python
成教自我鉴定
2013/10/27 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
网吧员工管理制度
2015/08/05 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript
nginx七层负载均衡配置详解
2022/07/15 Servers