python實現網站的自動登入

來源:互聯網
上載者:User
python實現網站的自動登入  

2012-01-10 17:15:58|  分類:

編程 |字型大小 訂閱

     前段時間幫同學寫了個程式,其中需要在後台通過訪問url來發送郵件,經過摸索,用了php的curl功能,覺得很強大,於是google了下。python作為一款強大的指令碼語言,也同樣有類似的功能,於是嘗試著做了下。    先看下這簡短的幾行代碼import urllib,urllib2,httplib,cookielib            //使用的python模組url = 'http://www.xxxxxx.com/login.asp?action=chk'      //要嘗試的url,還是把url改下吧values = {'username' : 'admin',                'password' : 'admin'}                   //post提交的資料data = urllib.urlencode(values)                  //對提交的資料進行編碼req = urllib2.Request(url, data)                 //形成一個url請求response = urllib2.urlopen(req)                //發送簽名的請求the_page = response.read()                    //讀取返回的頁面print the_page                                         //輸出返回的頁面從上面可以看到對於一個登入驗證機制比較簡單的網站,只需要這麼幾行代碼即可實現自動登入,由此不難想到可以利用這進行密碼的暴力破解下面從網上看到的一個自動登入百度空間的代碼跟我們這個類似
import urllib,urllib2,httplib,cookielibdef auto_login_hi(url,name,pwd):    url_hi="http://passport.baidu.com/?login"    #設定cookie    cookie=cookielib.CookieJar()    cj=urllib2.HTTPCookieProcessor(cookie)    #設定登入參數    postdata=urllib.urlencode({'username':name,'password':pwd})    #產生請求    request=urllib2.Request(url_hi,postdata)    #登入百度    opener=urllib2.build_opener(request,cj)    f=opener.open(request)    print f    #開啟百度HI空間頁面    hi_html=opener.open(url)    return hi_htmlif __name__=='__main__':    name='name'    password='password'    url='yoururl'#例如:url='http://hi.baidu.com/cdkey51'    h=auto_login_hi(url,name,password)    print h.read()#h裡面的內容便是登入後的頁面內容
下面再對返回的頁面資訊進行分析,然後就可以判斷密碼是否正確。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.