python登陸教務管理系統


想試着模擬登陸一些網站,這次先拿學校的教務管理系統練練手,寫一下登陸的流程。

1.我們登陸的url:http://222.195.8.201,但我們所填的密碼不是提交到這個頁面上去,檢查一下頁面代碼

 

 我們看到提交后post數據是提交到pass.asp頁面。或者在chrome上F12點擊登陸查看跳轉的頁面:

根據時間的順序第一個頁面就是pass.asp,確實這就是提交的頁面。后面也是服務器傳過來的頁面。

2.登陸原理也很簡單,提交表單獲取cookie,然后以后利用所攜帶的cookie來構建請求報文訪問其他的頁面。

我們在首次登陸時點擊提交服務器返回cookie存儲在用戶本機

這就是我們提交表單后所得到的cookie內容,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據。往后在訪問相同站點的其他url時請求報文就會假如cookie,服務器利用cookie來對用戶進行識別,我們登陸之后點擊其他頁面我們查看提交報文中就含有相同的cookie。

一下就是訪問其他頁面返回的html

 1 import urllib    
 2 import urllib2  
 3 import cookielib  
 4 #聲明一個cookieJar對象實例來保存Cookie
 5 cookie = cookielib.CookieJar()
 6 #聲明一個urllib2.HTTPCookieProcessor對象創建一個cookie處理器
 7 handle=urllib2.HTTPCookieProcessor(cookie)
 8 #構建一個opener
 9 opener = urllib2.build_opener(handle)  
10   
11 #需要POST的數據,查看formData#  
12 postdata=urllib.urlencode({    
13     'UserStyle':'student',
14     'user':'你的學號',
15     'password':'你的密碼',
16     'method': 'POST'
17 })  
18 #自定義一個請求#  
19 req = urllib2.Request(    
20     url = 'http://222.195.8.201/pass.asp',    
21     data = postdata
22    
23 )  
24 #訪問該鏈接#  
25 result = opener.open(req)
26 
27 #打印返回的內容#  
28 print result.read()
29 #查看cookie#
30 for item in cookie:    
31     print 'Cookie:Name = '+item.name    
32     print 'Cookie:Value = '+item.value  
33 #查看成績一欄#
34 res=opener.open('http://222.195.8.201/student/asp/xsxxxxx.asp')
35 print res.read()

 抓取到頁面后剩下的就交給BeautifulSoup了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM