1. 程式人生 > 程式設計 >Python cookie的儲存與讀取、SSL講解

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

一、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":"[email protected]","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,"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

以上就是本次介紹的全部相關知識點,感謝大家的學習和對我們的支援。