具體代碼和講解以下html
#!/usr/bin/python import HTMLParser import urlparse import urllib import urllib2 import cookielib import string import re #登陸的主頁面 hosturl = '******' //本身填寫 #post數據接收和處理的頁面(咱們要向這個頁面發送咱們構造的Post數據) posturl = '******' //從數據包中分析出,處理post請求的url #設置一個cookie處理器,它負責從服務器下載cookie到本地,而且在發送請求時帶上本地的cookie cj = cookielib.LWPCookieJar() cookie_support = urllib2.HTTPCookieProcessor(cj) opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler) urllib2.install_opener(opener) #打開登陸主頁面(他的目的是從頁面下載cookie,這樣咱們在再送post數據時就有cookie了,不然發送不成功) h = urllib2.urlopen(hosturl) #構造header,通常header至少要包含一下兩項。這兩項是從抓到的包裏分析得出的。 headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1', 'Referer' : '******'} #構造Post數據,他也是從抓大的包裏分析得出的。 postData = {'op' : 'dmlogin', 'f' : 'st', 'user' : '******', //你的用戶名 'pass' : '******', //你的密碼,密碼多是明文傳輸也多是密文,若是是密文須要調用相應的加密算法加密 'rmbr' : 'true', //特有數據,不一樣網站可能不一樣 'tmp' : '0.7306424454308195' //特有數據,不一樣網站可能不一樣 } #須要給Post數據編碼 postData = urllib.urlencode(postData) #經過urllib2提供的request方法來向指定Url發送咱們構造的數據,並完成登陸過程 request = urllib2.Request(posturl, postData, headers) print request response = urllib2.urlopen(request) text = response.read() print text