溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python cookie的保存與讀取、SSL講解

發(fā)布時(shí)間:2020-09-05 09:10:36 來(lái)源:腳本之家 閱讀:157 作者:心悅君兮君不知-睿 欄目:開(kāi)發(fā)技術(shù)

一、cookie的保存與讀取

1.cookie的保存-FileCookie.Jar

from urllib import request,parse

from http import cookiejar

#創(chuàng)建cookiejar實(shí)例

filename = "cookie.txt"

cookie = cookiejar.MozillaCookieJar(filename)

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#創(chuàng)建http請(qǐng)求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#創(chuàng)建請(qǐng)求管理器

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

​

def login():

 """

 負(fù)責(zé)初次登錄

 需要輸入用戶名密碼

 :return:

 """

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

 data = {

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

 "password":"481648541615485"

 }

 #把數(shù)據(jù)進(jìn)行編碼

 data = parse.urlencode(data)

 #創(chuàng)建一個(gè)請(qǐng)求對(duì)象

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

 #使用opener發(fā)起請(qǐng)求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及時(shí)cookie將要被丟棄也要保存下來(lái)

 #ignore_expire表示如果該文件中cookie即使已經(jīng)過(guò)期,保存

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

​

def getHomePage():

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

 #如果已經(jīng)執(zhí)行了login函數(shù),則opener自動(dòng)已經(jīng)包含相應(yīng)的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

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

 f.write(html)

​

if __name__ == "__main__":

 """

 執(zhí)行完login之后,會(huì)得到授權(quán)之后的cookie

 我們嘗試把cookie打印出來(lái)

 """

 login()

 getHomePage()

Python cookie的保存與讀取、SSL講解

2.cookie的讀取

from urllib import request,parse

from http import cookiejar

#創(chuàng)建cookiejar實(shí)例

cookie = cookiejar.MozillaCookieJar()

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

​

#生成cookie的管理器

cookie_handler = request.HTTPCookieProcessor(cookie)

#創(chuàng)建http請(qǐng)求管理器

http_handler = request.HTTPHandler()

#生成https管理器

https_handler = request.HTTPHandler()

#創(chuàng)建請(qǐng)求管理器

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

​

def login():

 """

 負(fù)責(zé)初次登錄

 需要輸入用戶名密碼

 :return:

 """

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

 data = {

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

 "password":"481648541615485"

 }

 #把數(shù)據(jù)進(jìn)行編碼

 data = parse.urlencode(data)

 #創(chuàng)建一個(gè)請(qǐng)求對(duì)象

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

 #使用opener發(fā)起請(qǐng)求

 rep = opener.open(req)

 #保存cookie到文件

 #ignore_discard表示及時(shí)cookie將要被丟棄也要保存下來(lái)

 #ignore_expire表示如果該文件中cookie即使已經(jīng)過(guò)期,保存

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

​

def getHomePage():

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

 #如果已經(jīng)執(zhí)行了login函數(shù),則opener自動(dòng)已經(jīng)包含相應(yīng)的cookie值

 rsp = opener.open(url)

​

 html = rsp.read().decode()

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

 f.write(html)

​

​

if __name__ == "__main__":

 """

 執(zhí)行完login之后,會(huì)得到授權(quán)之后的cookie

 我們嘗試把cookie打印出來(lái)

 """

 # login()

 getHomePage()

改代碼讀取了保存的cookie文件,并且​訪問(wèn)網(wǎng)頁(yè)成功。

二、SSL

1.什么是SSL

(1)SSL證書(shū)就是指遵守SSL安全套階層協(xié)議的服務(wù)器數(shù)字證書(shū)(SercureSocketLayer)

(2)該證書(shū)是由美國(guó)網(wǎng)景公司開(kāi)發(fā)

(3)CA(CertifacateAuthority)是數(shù)字證書(shū)認(rèn)證中心,是發(fā)放、管理、廢除數(shù)字證書(shū)的收信人的​第三方機(jī)構(gòu)。

(4)遇到不信任的SSL證書(shū),可以用代碼進(jìn)行忽略掉

from urllib import request

#導(dǎo)入python ssl處理模塊

import ssl

#利用非認(rèn)證上下文環(huán)境替換認(rèn)證的下文環(huán)境

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

以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),感謝大家的學(xué)習(xí)和對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI