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中用split()方法分割字符串的使用介绍
May 20 Python
python实现的希尔排序算法实例
Jul 01 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
python学习教程之使用py2exe打包
Sep 24 Python
Python中的TCP socket写法示例
May 11 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
python实现简单的tcp 文件下载
Sep 16 Python
pandas map(),apply(),applymap()区别解析
Feb 24 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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简单命令代码集锦
2007/09/24 PHP
php socket方式提交的post详解
2008/07/19 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
(function($){...})(jQuery)的意思
2010/07/22 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
Python中生成器和yield语句的用法详解
2015/04/17 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
python join方法使用详解
2019/07/30 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
医药代表个人的求职信分享
2013/12/08 职场文书
气象学专业个人求职信
2014/03/15 职场文书
论文指导教师评语
2014/04/28 职场文书
关于安全的标语
2014/06/10 职场文书
校园文明标语
2014/06/13 职场文书
学校食堂管理制度
2015/08/04 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python