Python從0到1:用Cookie模擬登錄金融系統

Python從0到1:用Cookie模擬登錄金融系統 文/BATs朱學敏


Cookie對於從事IT人員來說是必定會接觸的。Cookie由伺服器端生成,發送給瀏覽器User-Agent,瀏覽器會將Cookie的key/value保存到文本文件內,下次請求同一網站時就發送該Cookie給伺服器。官方給的解釋是:Cookie指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據。

使用Cookie模擬登錄,創建一個帶有cookie的opener,在訪問登錄的URL時,將登錄后的cookie保存下來,然後利用這個cookie來訪問其他網址。查看登錄之後才能看到的信息。在HTTP包中,提供了cookiejar模塊,用於提供對Cookie的支持。http.cookiejar功能強大,我們可以利用CookieJar類的對象來捕獲cookie並在後續連接請求時重新發送,來實現模擬登錄功能。

Advertisements

1、導入模塊:import urllib.request, urllib.parse, urllib.error,importhttp.cookiejar;

2、定義url和postdata參數:url = 'http://www.******.com/login',values ={'username': '******', 'password': '******'},postdata =urllib.parse.urlencode(values).encode()

3、定義cookie和headers參數:cookie=r'******',user_agent =r'******',headers = {'User-Agent': user_agent, 'Connection':'keep-alive'}

Advertisements

4、創建帶有cookie的opener:cookie_filename = 'cookie.txt',cookie =http.cookiejar.MozillaCookieJar(cookie_filename),handler =urllib.request.HTTPCookieProcessor(cookie),opener =urllib.request.build_opener(handler)

5、請求金融系統:get_request = urllib.request.Request(LOGIN_URL,postdata, headers),# get_url = 'https://user.******.com/',get_request = urllib.request.Request(get_url,headers=headers),get_response =urllib.request.urlopen(get_request)

print(get_response.read().decode())

PS:Python技術無罪,請合理利用技術。

Python熟練程度問卷調查 (單選)
0
0%
初級小白
0
0%
初級菜鳥
0
0%
中級大牛
0
0%
中級高手
0
0%
高級大神
0
0%
高級元老

Advertisements

你可能會喜歡