利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别
將利用cookie實現登陸知網、抽屜網? 和? 基于session自動登錄抽屜網??? 寫在一起,主要是這樣更利于比較session和cookie二者的差別
利用cookie實現登陸知網與抽屜網
Cookie:小蛋糕,餅干
特點1. 用于存儲用戶的某些信息(不包含隱私信息)
2. 只用于存儲少量數據
3. cookie是個文件,位于瀏覽器
4. cookie有生命周期,一旦網頁退出,cookie就失效了
?1. 如果網站登錄的時候需要寫驗證碼,可以考慮通過cookie直接登錄
?例如:知乎網
?注意:cookie需要手動登錄以后再粘貼,粘貼的是登錄進去之后的cookie
例子:模擬cookie登錄知乎
?????? 打開1.html文件可自動實現登錄,但前提是必須手動登錄進去知乎網站基于session自動登錄抽屜網
?例如:抽屜網
注意:它的cookie是通過代碼自動獲取的
例子:模擬cookie登錄抽屜網
抽屜網的登錄邏輯(其它網站不適用)
1. 先獲取在首頁服務器自動返回的cookie,因為它是用戶的憑證
2. 開始登錄(要攜帶上第一步的cookie)
3. 開始點贊/評論......
url = "http://dig.chouti.com/" # 通過瀏覽器獲取的操作一般都是get請求 response = requests.get(url,headers={# "User-Agent": RandomAgent.rand()"User-Agent": agent.random} ) #將cookies轉換為字典形式 cookies = response.cookies.get_dict()
開始登錄(要攜帶上第一步的cookie)
#開始登錄(要攜帶上第一步的cookie) #在打開到查看元素的網絡,清除所有信息,然后點登陸按鈕,點開第一個post請求,然后將右邊的請求網址復制過來當做url url = "http://dig.chouti.com/login" response = requests.post(url,#在參數里可查看到data={"phone": "8615896901897","password": "qweqweqwe1","oneMonth": "1",},headers={"User-Agent": agent.random,},cookies=cookies, )開始點贊/評論......
#同上述方法獲得url url = "http://dig.chouti.com/link/vote?linksId=17717073" response = requests.post(url,headers={"User-Agent": agent.random,},cookies=cookies, ) print(response.text)抽屜網登錄時:
1. 第一次訪問首頁的時候 服務器 返回一個cookie
2. 攜帶1的cookie進行登錄,服務器 返回另一個cookie,所以在登錄與開始點贊/評論過程中,只能用第一次訪問首頁時返回的cookie,不能用之后的cookie?基于session自動登錄抽屜網
import requests
from fake_useragent import UserAgent
agent = UserAgent()如果通過session發請求,會自動攜帶cookie
session = requests.session()
獲取首頁
s1 = session.get("http://dig.chouti.com/", headers={"User-Agent": agent.random})模擬登錄
s2 = session.post("http://dig.chouti.com/login", data={"phone": "8615896901897","password": "qweqweqwe1","oneMonth": "1",}, headers={"User-Agent": agent.random})開始點贊/評論
s3 = session.post("http://dig.chouti.com/link/vote?linksId=17717071",headers={"User-Agent": agent.random}) print(s3.text)cookie和session的區別:
?????????? ? ? ? ? ? ? ? ? ? ?? cookie | ??????????????????????? session |
| 1.cookie存儲在瀏覽器\客戶端 | session存儲在服務器 |
| 2.cookie不適合存儲私密數據,不安全,可以通過手段獲取客戶端保留的cookie信息 | 因為session是存儲在服務器端的,相對比cookie更加安全 |
| 3.cookie一般用來存儲少量數據????? 例如:狀態登錄/歷史記錄 | 因為session存儲在服務器中,所以存儲數據的大小理論上沒有限制 |
cookie和session是共存亡的關系
如果一個網站禁用了cookie,但是還可以保留登錄狀態,一般會在參數中攜帶一個sessionId參數,用來跟蹤回話,保留狀態
總結
以上是生活随笔為你收集整理的利用cookie实现登陆知网与抽屉网 基于session自动登录抽屉网 cookie与session区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Multi-scale Interact
- 下一篇: WRF报错记录