cookie
Posted 道高一尺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie相关的知识,希望对你有一定的参考价值。
1 提取cookie信息并打印 2 import http.cookiejar,urllib.request 3 4 #http.cookiejar.CookieJar的作用是提取cookie信息 5 #在这里是声明cookie变量,它是http.cookiejar.CookieJar的实例 6 cookie = http.cookiejar.CookieJar() 7 #HTTPCookieProcessor的作用是处理cookie信息 8 handler = urllib.request.HTTPCookieProcessor(cookie) 9 #建立一个特殊的开瓶器,开瓶器的主要武器就是上一步返回的handler 10 opener = urllib.request.build_opener(handler) 11 #此时cookie已经完成提取并处理,因此cookie就是一组键值数据 12 response = opener.open(‘http://www.baidu.com‘) 13 for item in cookie: 14 print(item.name+‘=‘+item.value)
1 #保存cookie信息到本地,两种方式 2 #方法一:MozillaCookieJar 3 import http.cookiejar 4 import urllib.request 5 6 filename = ‘D://cookie.txt‘ 7 #创建与Mozilla浏览器兼容的cookie 8 cookie = http.cookiejar.MozillaCookieJar(filename) 9 10 handler = urllib.request.HTTPCookieProcessor(cookie) 11 opener = urllib.request.build_opener(handler) 12 response = opener.open(‘http://www.baidu.com‘) 13 #ignore_discard的意思是即使cookies将被丢弃也将它保存下来, 14 #ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入 15 cookie.save(ignore_discard=True,ignore_expires=True) 16 17 #方法二:LWPCookiejar 18 import http.cookiejar 19 import urllib.request 20 filename = ‘D://cookie.txt‘ 21 cookie =http.cookiejar.LWPCookieJar(filename) 22 handler = urllib.request.HTTPCookieProcessor(cookie) 23 opener = urllib.request.build_opener(handler) 24 response = opener.open(‘http://www.baidu.com‘) 25 cookie.save(ignore_discard=True,ignore_expires=True)
1 #读取cookie,load方法 2 import http.cookiejar 3 import urllib.request 4 5 cookie = http.cookiejar.LWPCookieJar() 6 cookie.load(‘D://cookie.txt‘,ignore_expires=True,ignore_discard=True) 7 8 handler = urllib.request.HTTPCookieProcessor(cookie) 9 opener = urllib.request.build_opener(handler) 10 response = opener.open(‘http://www.baidu.com‘) 11 print(response.read().decode(‘utf-8‘))设想,如果我们的 cookie.txt 文件中保存的是某个人登录百度的cookie,那么我们提取出这个cookie文件内容,就可以用以上方法模拟这个人的账号登录百度。
以上是关于cookie的主要内容,如果未能解决你的问题,请参考以下文章