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跳出循环语句continue与break的区别
Aug 25 Python
使用Python中的greenlet包实现并发编程的入门教程
Apr 16 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
python3库numpy数组属性的查看方法
Apr 17 Python
Python实现的直接插入排序算法示例
Apr 29 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
Python后台开发Django会话控制的实现
Apr 15 Python
PyTorch中的Variable变量详解
Jan 07 Python
Django 自定义权限管理系统详解(通过中间件认证)
Mar 11 Python
python try...finally...的实现方法
Nov 25 Python
Python实例教程之检索输出月份日历表
Dec 16 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将XML转数组过程详解
2013/11/13 PHP
php生成图片验证码的方法
2016/04/15 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
List Installed Hot Fixes
2007/06/12 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
详解python3中tkinter知识点
2018/06/21 Python
超简单的Python HTTP服务
2019/07/22 Python
Python tcp传输代码实例解析
2020/03/18 Python
上课打牌的检讨书
2014/02/15 职场文书
服装促销活动方案
2014/02/23 职场文书
民间借贷协议书范本
2014/10/01 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
债务纠纷起诉书
2015/05/20 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python