當前位置:首頁 » 編程語言 » python自定義cookie

python自定義cookie

發布時間: 2024-12-03 23:17:24

❶ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來

兩種方式:
一、
介面,可以pip install requests模塊,安裝一個requests,對介面支持簡單好用
例子,寫一個getcookie()方法
import requests
def getcookie():
data={'username':username,'password':pwd}
session=requests.session()
loginurl="http://xxx.com/login"
#具體要介面登錄後才可以獲得cookies
result=session.post(loginurl,data=data)

cookies=requests.utils.dict_from_cookiejar(session.cookies)
return cookies

二、
UI自動化登錄:可以easy_install -U selenium,安裝selenium模塊,支持UI自動化,模擬前端,用戶名、密碼登錄後,這種方式也可以獲得cookie

一個例子,登錄csdn,並且獲取cookie,用戶名和密碼我隱去了,可以參考。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium
import os,time
import sys
sys.path.append("..")
import web
import datetime

#默認得安裝一個火狐瀏覽器
class webconn:
def __init__(self,drivertype):
self.drivertype=drivertype

def web_conn(self):
PASS=0
FAIL=0
get_cookie={}
t=datetime.datetime.now()
starttime=datetime.datetime.now()

driver = webdriver.Firefox()
try:

driver.get('https://passport.csdn.net/account/login')
time.sleep(2)
assert u'帳號登錄' in driver.title

driver.find_element_by_id("username").send_keys(u"yoursername")
print "輸入用戶名"

driver.find_element_by_id("password").send_keys(u"yourpassword")
print "輸入密碼"

driver.find_element_by_class_name("logging").click()
time.sleep(2)

assert u'全球最大中文' in driver.title

driver.add_cookie({'name':'key-aaaaaa','value':'value-bbbb'})
for cookie in driver.get_cookies():
print "%s -> %s" %(cookie['name'],cookie['value'])
get_cookie[cookie['name'].encode("UTF-8")]=cookie['value'].encode("UTF-8")

print "cookie cookie cookie cookie cookie"

print get_cookie

PASS=PASS+1
except Exception,e:
print(str(Exception)+":"+str(e))
FAIL=FAIL+1
finally:
driver.close()
driver.quit()

endtime=datetime.datetime.now()
totaltime=endtime-starttime
usetime=str(endtime-starttime)
hour=usetime.split(':').pop(0)
minute=usetime.split(':').pop(1)
second=usetime.split(':').pop(2)
totaltime=float(hour)*60*60+float(minute)*60+float(second)
totaltime=str(totaltime)+"s"
return get_cookie

❷ Python的Cookie如何正確操作運用呢案例詳解

Cookie是網站為了跟蹤用戶會話而保存在用戶瀏覽器上的文本文件。在無狀態HTTP協議中,Cookie是保持連接狀態的關鍵機制。它包含以下關鍵參數:

1. 名字(Name)

2. 值(Value)

3. 過期時間(Expires/Max-Age)

4. 作用路徑(Path)

5. 域名(Domain)

6. 安全連接(Secure)

使用Cookie進行安全連接通常包括設置Secure屬性。

在Python中操作Cookie的常見方法是利用urllib庫。通過構建包含Cookie信息的headers,可以實現Cookie的自動添加。例如,可以使用以下代碼構建包含Cookie信息的請求:

python

import urllib.request

headers = { "User-Agent": "Mozilla/5.0...}" response = urllib.request.urlopen(request)

然而,這種方法較為復雜,通常需要在瀏覽器中登錄賬戶並設置保存密碼。另一種更簡便的方法是使用Python的cookielib庫和HTTPCookieProcessor處理器。首先構建CookieJar對象來保存cookie,然後使用HTTPCookieProcessor處理這些cookie對象。通過建立opener並添加headers,可以實現登錄和訪問需要登錄的頁面。

python

import urllib.request

from http import cookiejar

cookie = cookiejar.CookieJar()

cookie_handler = urllib.request.HTTPCookieProcessor(cookie)

opener = urllib.request.build_opener(cookie_handler)

為了登錄,需要發送包含用戶名和密碼的請求。通常,登錄過程會包含HTTP GET請求獲取相關信息,然後進行HTTP POST請求進行實際登錄。在POST請求中,密碼可能以明文或加密形式發送。有些網站採用動態加密,需要查看JS源碼並破解加密。

盡管大多數網站的登錄流程類似,但細節可能有所不同,因此不能保證所有網站都能成功登錄。在操作過程中,注意以下幾點:

1. 仔細檢查HTTP請求,確保發送的數據正確。

2. 注意密碼的加密方式。

3. 當遇到動態加密時,查看JS源碼以獲取加密演算法

4. 使用cookielib和HTTPCookieProcessor簡化登錄過程。

5. 遵循官方文檔和教程學習如何正確使用這些庫和工具。

在Python學習過程中,實踐是關鍵。不斷嘗試和探索,理解Cookie在Web開發中的重要性,可以幫助你更好地理解和應用這一概念。

最後,提供一個學習資源鏈接,包括Python入門到高級項目實戰視頻教程,可幫助你更深入地學習Python和其他相關技術。在交流群中,可以與經驗豐富的開發者交流經驗和問題。請注意,本文內容基於網路資源和作者個人理解,旨在提供學習和參考信息,不涉及任何商業用途。如有版權問題,請及時聯系我們。

❸ python 如果往cookielib.CookieJar()裏手動添加欄位

defmake_cookie(name,value):
returncookielib.Cookie(
version=0,
name=name,
value=value,
port=None,
port_specified=False,
domain="xxxxx",
domain_specified=True,
domain_initial_dot=False,
path="/",
path_specified=True,
secure=False,
expires=None,
discard=False,
comment=None,
comment_url=None,
rest=None
)

jar=cookielib.CookieJar()
...
jar.set_cookie(make_cookie("name","value"))
...

熱點內容
漫播下載的廣播劇存儲路徑 發布:2024-12-04 15:41:21 瀏覽:838
rc2在線加密 發布:2024-12-04 15:32:58 瀏覽:87
紅米4怎麼鎖屏密碼忘了怎麼辦 發布:2024-12-04 15:24:12 瀏覽:945
編程語言推薦 發布:2024-12-04 15:11:23 瀏覽:820
安卓機怎麼下載酷狗音樂 發布:2024-12-04 15:10:32 瀏覽:190
整數劃分編程 發布:2024-12-04 15:02:44 瀏覽:357
編程兩個變數 發布:2024-12-04 14:59:27 瀏覽:503
伺服器搭建信息化系統 發布:2024-12-04 14:59:26 瀏覽:975
斯柯達明銳哪個配置比較劃算 發布:2024-12-04 14:50:28 瀏覽:13
恆星壓縮槍 發布:2024-12-04 14:34:36 瀏覽:270