欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀requests.session()獲取Cookies全過程

 更新時間:2023年02月25日 09:28:49   作者:MicoJack Honey  
這篇文章主要介紹了解讀requests.session()獲取Cookies全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

通過requests.session()查看默認(rèn)配置下請求頭

import requests

session = requests.session()

print("默認(rèn)配置下的請求頭:",session.headers.items())
# 默認(rèn)配置下的請求頭:
 ItemsView({'User-Agent': 'python-requests/2.21.0',
 'Accept-Encoding': 'gzip, deflate', 
 'Accept': '*/*',
 'Connection': 'keep-alive'})"

我們可以看到在默認(rèn)情況下,請求頭的內(nèi)容很機(jī)器,沒有靈性

如果大家使用的IDE是Pycharm的話,ctrl+右鍵點擊session.headers的headers查看源碼。

得到如圖:

default_headers()

使用的是default_headers()(默認(rèn)請求頭),這里我們依然看不到print打印在終端的內(nèi)容,所以繼續(xù)ctrl+右擊點擊default_headers()。

得到如圖:

進(jìn)入default_headers()

OK! But it’s not over,這里我們還有User-Agentvalue沒有看到,但是經(jīng)過猜測我們不難得到default_user_agent()的內(nèi)容就是python-requests/2.21.0。

包裝請求頭,讓他看起來更帥氣

首先,了解對headers進(jìn)行一個簡單的增刪改查操作

刪改查

包裝

包裝Headers

包裝我們的Headers

  • 方式一
headers = {
            'Origin': 'https://***.com',
            'Host': '***.com',
            'Referer': 'https://**.com/,
            'User-Agent': 'Mozilla/5.0',
        }
session.headers.update(headers)#字典的更新方法
  • 方式二

換一種大家都在用的方式,在請求的時候添加headers參數(shù)即可:

response = session.get(url, headers=headers)

驗證兩種方式是否得到的效果一樣

  • 第一種方式

one

  • 第二種方式

two

結(jié)論:兩種方式在response端看到的效果等同,區(qū)別在于第一種方式session是永久的,而第二種常用的方式只是在請求的時候攜帶過去的,所以當(dāng)我們查看session的時候為空,那么這就有一個問題,我們在后續(xù)的請求中任然需要帶上headers=這個參數(shù),似乎它并沒有那么好?

這是在github上copy 的部分爬蟲代碼如下:

github

連續(xù)帶了兩次Headers,這樣沒有什么不好,你開心就好~~~。

cookies獲取過程

  • 請求之前我們先清空Headers,Cookies內(nèi)的信息
  • headers中僅寫入user-agentCookies為空
  • 請求之后查看sessionCookies,得到響應(yīng)端返回的cookies

如果看不到圖片,請一定想辦法看見!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論