?
在 Web應(yīng)用程序中,用戶訪問網(wǎng)站時(shí),通常會(huì)請(qǐng)求訪問服務(wù)器上保存的一些用戶信息(例如: Cookie),這些信息包含了用戶的一些個(gè)人信息,比如:姓名、地址、密碼等。對(duì)于用戶來說,如果不需要這些信息,則可以不請(qǐng)求服務(wù)器上的這些數(shù)據(jù),但是服務(wù)器會(huì)將這些信息保存在某個(gè)地方。Cookie是一種數(shù)據(jù)形式的訪問憑證(數(shù)據(jù)加密過的證書),用戶在使用 Web應(yīng)用程序時(shí)都會(huì)請(qǐng)求這些 Cookie。
-
1.使用 Cookie類型
Cookie有很多類型,不同的 Cookie類型對(duì)應(yīng)不同的類型的數(shù)據(jù),因此在獲取 Cookie時(shí),需要對(duì)數(shù)據(jù)進(jìn)行正確的類型識(shí)別。在本例中,我們需要獲取用戶名和密碼這兩個(gè)數(shù)據(jù)。 在獲取用戶名和密碼的方法中,我們可以使用如下代碼: 上面的代碼中使用了三個(gè)參數(shù): 可以看到,這三個(gè)參數(shù)分別對(duì)應(yīng)了三種 Cookie類型。但是因?yàn)槟壳盎ヂ?lián)網(wǎng)上有大量的網(wǎng)站都是用 POST方式獲取數(shù)據(jù),所以在這里我們就不詳細(xì)介紹 POST獲取 Cookie的方法了。 當(dāng)然,還可以使用一些其他方法來獲取 Cookie: 由于 POST方式獲取 Cookie會(huì)占用資源,因此可以使用以下代碼: 上面的代碼中使用了 network方法來獲取 Cookie,這種方法需要網(wǎng)絡(luò)環(huán)境支持 Nginx和 Session才能實(shí)現(xiàn),下面我們來看一下其他的獲取 Cookie方法:
-
2.使用 PATH參數(shù)
如果您使用的是 Python語言,則可以使用 PATH參數(shù)來獲取服務(wù)器上存儲(chǔ)的 Cookie。PATH參數(shù)是一個(gè)字符串類型的參數(shù),該參數(shù)用于指定瀏覽器或服務(wù)器是否可以讀取或?qū)懭朐?Cookie。 下面是一個(gè)使用 PATH參數(shù)獲取 Cookie的例子: 您可以將這個(gè)代碼提交到 test. py文件中,然后從 Test. py文件中讀取該 Cookie并將其保存到本地。該文件中包含了一條 Cookie,可以將它作為 Web應(yīng)用程序的一部分。這段代碼將嘗試獲取服務(wù)器上保存的所有 Cookie,如果成功了,則說明該 Cookie是有效的。 這里我們可以看到,服務(wù)器上存儲(chǔ)了兩條 Cookie:cs.co okie和cs.co okies。在前面的例子中,我們成功地從 Test. py文件中獲取了所有的 Cookie。 但是如果我們要從另一個(gè)網(wǎng)站上獲取 cookie,則需要另外添加一個(gè)新文件來保存這個(gè)網(wǎng)站上的所有 Cookie,并且添加這個(gè)新文件的路徑必須為:
-
3.使用正則表達(dá)式
正則表達(dá)式是 Python中最強(qiáng)大的語法,可以快速的搜索匹配指定的字符串。 當(dāng)我們要查找特定的字符串時(shí),可以使用正則表達(dá)式來匹配。例如: 在上面的例子中,我們使用了一個(gè)正則表達(dá)式來搜索字符串。當(dāng)我們調(diào)用這個(gè)正則表達(dá)式時(shí),它將搜索指定字符串中的所有字符。 當(dāng)然,正則表達(dá)式不是萬能的,我們還需要使用其它的方法來找到對(duì)應(yīng)的匹配字符串。 最后,我們使用了 python的 cookie功能來獲取對(duì)應(yīng)的 Cookie。 通過上面兩種方法,我們可以快速地從 cookie中查找出對(duì)應(yīng)的字符串。
-
4.使用其他方法
下面我們介紹一些其他的獲取 Cookie的方法: 使用 getCookie ()方法,在獲得 Cookie之前,首先需要獲得 getCookie對(duì)象的名稱和類型。該方法是在獲取到對(duì)象的類型后進(jìn)行判斷,如果是合法的,則將獲取到的 Cookie保存到一個(gè)變量中。 使用jobs.in se rt ()方法,該方法是在獲取到對(duì)象類型后進(jìn)行判斷。
-
5.將請(qǐng)求和響應(yīng)分離
在服務(wù)器上,請(qǐng)求的對(duì)象是 Cookie,而響應(yīng)的對(duì)象是用戶的賬號(hào)和密碼。如果我們想獲取用戶的賬號(hào)和密碼,只需要將請(qǐng)求對(duì)象改為用戶的賬號(hào)和密碼,然后請(qǐng)求服務(wù)器獲取即可。 首先,我們可以使用正則表達(dá)式來匹配用戶的賬號(hào)和密碼。例如: 不過,在正則表達(dá)式中,我們沒有看到關(guān)于 Cookie的信息。 在使用正則表達(dá)式時(shí),我們需要注意一些規(guī)則: 1)字符串中只能使用大寫字母和小寫字母; 2)不能使用數(shù)字或下劃線; 3)不能使用特殊字符(空格、回車符); 如果我們想獲取用戶賬號(hào)和密碼,需要在正則表達(dá)式中添加需要獲取的賬號(hào)和密碼。
-
6.獲取 Cookie的示例代碼
要獲取 Cookie,需要使用一個(gè) Python庫,這個(gè)庫就是 pygame. content (),該庫可以用來獲取網(wǎng)站上的 Cookie。要獲取 Cookie,需要使用一個(gè) Python模塊: 在獲取 Cookie之前,需要先進(jìn)行一些準(zhǔn)備工作: ①首先需要在 Web服務(wù)器上安裝 pygame. content ()函數(shù) ②然后將 pygame. content ()函數(shù)連接到一個(gè)遠(yuǎn)程的服務(wù)器,該服務(wù)器位于一個(gè)虛擬主機(jī)中 ③然后將 cookie參數(shù)傳遞給這個(gè)虛擬主機(jī)的 pygame. content ()函數(shù),并設(shè)置參數(shù)的范圍(即是否要獲取網(wǎng)站上所有的 Cookie)。如果需要獲取特定網(wǎng)站上的 Cookie,則可以指定網(wǎng)站,例如:在某個(gè)特定網(wǎng)站上獲取某個(gè)網(wǎng)站的 Cookie。最后再將 pygame. content ()函數(shù)連接到 Cookie列表中。文章來源:http://www.zghlxwxcb.cn/news/detail-467677.html
以下是幾段常用的?Python?獲取?Cookie?的代碼:
1.?使用?requests?庫獲取?Cookie:
```python
import?requests
#?發(fā)送?GET?請(qǐng)求,獲取?Cookie
response?=?requests.get('http://www.example.com')
cookie?=?response.cookies.get_dict()
#?輸出?Cookie
print(cookie)
```
2.?使用?urllib?庫獲取?Cookie:
```python
import?urllib.request
#?發(fā)送?GET?請(qǐng)求,獲取?Cookie
response?=?urllib.request.urlopen('http://www.example.com')
cookie?=?response.headers.get('Set-Cookie')
#?輸出?Cookie
print(cookie)
```
3.?使用?selenium?庫獲取?Cookie:
```python
from?selenium?import?webdriver
#?啟動(dòng)瀏覽器
browser?=?webdriver.Chrome()
#?打開網(wǎng)頁,獲取?Cookie
browser.get('http://www.example.com')
cookie?=?browser.get_cookies()
#?輸出?Cookie
print(cookie)
```
以上代碼僅供參考,具體實(shí)現(xiàn)方式可以根據(jù)實(shí)際需求進(jìn)行調(diào)整。文章來源地址http://www.zghlxwxcb.cn/news/detail-467677.html
到了這里,關(guān)于python 獲取cookie的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!