<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    張慧的博客

    張慧的博客

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      45 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks
    本文主要用python實現了對網站的模擬登錄。通過自己構造post數據來用Python實現登錄過程。

    當你要模擬登錄一個網站時,首先要搞清楚網站的登錄處理細節(發了什么樣的數據,給誰發等...)。我是通過HTTPfox來抓取http數據包來分析該網站的登錄流程。同時,我們還要分析抓到的post包的數據結構和header,要根據提交的數據結構和heander來構造自己的post數據和header。

    分析結束后,我們要構造自己的HTTP數據包,并發送給指定url。我們通過urllib2等幾個模塊提供的API來實現request請求的發送和相應的接收。
    大部分網站登錄時需要攜帶cookie,所以我們還必須設置cookie處理器來保證cookie。

    具體代碼和講解如下

    1. #!/usr/bin/python  
    2.   
    3. import HTMLParser  
    4. import urlparse  
    5. import urllib  
    6. import urllib2  
    7. import cookielib  
    8. import string  
    9. import re  
    10.   
    11. #登錄的主頁面  
    12. hosturl = '******' //自己填寫  
    13. #post數據接收和處理的頁面(我們要向這個頁面發送我們構造的Post數據)  
    14. posturl = '******' //從數據包中分析出,處理post請求的url  
    15.   
    16. #設置一個cookie處理器,它負責從服務器下載cookie到本地,并且在發送請求時帶上本地的cookie  
    17. cj = cookielib.LWPCookieJar()  
    18. cookie_support = urllib2.HTTPCookieProcessor(cj)  
    19. opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)  
    20. urllib2.install_opener(opener)  
    21.   
    22. #打開登錄主頁面(他的目的是從頁面下載cookie,這樣我們在再送post數據時就有cookie了,否則發送不成功)  
    23. h = urllib2.urlopen(hosturl)  
    24.   
    25. #構造header,一般header至少要包含一下兩項。這兩項是從抓到的包里分析得出的。  
    26. headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1',  
    27.            'Referer' : '******'}  
    28. #構造Post數據,他也是從抓大的包里分析得出的。  
    29. postData = {'op' : 'dmlogin',  
    30.             'f' : 'st',  
    31.             'user' : '******', //你的用戶名  
    32.             'pass' : '******', //你的密碼,密碼可能是明文傳輸也可能是密文,如果是密文需要調用相應的加密算法加密  
    33.             'rmbr' : 'true',   //特有數據,不同網站可能不同  
    34.             'tmp' : '0.7306424454308195'  //特有數據,不同網站可能不同  
    35.   
    36.             }  
    37.   
    38. #需要給Post數據編碼  
    39. postData = urllib.urlencode(postData)  
    40.   
    41. #通過urllib2提供的request方法來向指定Url發送我們構造的數據,并完成登錄過程  
    42. request = urllib2.Request(posturl, postData, headers)  
    43. print request  
    44. response = urllib2.urlopen(request)  
    45. text = response.read()  
    46. print text  

    posted on 2012-08-01 21:42 張慧 閱讀(61090) 評論(11)  編輯  收藏

    Feedback

    # re: python實現模擬登錄[未登錄] 2013-09-17 15:18 edison
    很好  回復  更多評論
      

    # re: python實現模擬登錄 2013-10-27 15:15
    你好,請問下,postdata和headers提交時應該怎么判斷提交那些信息啊?不同網站除了用戶名和密碼外還有其他信息,如何判斷提交的信息能實現模擬登陸呢?  回復  更多評論
      

    # re: python實現模擬登錄 2014-01-15 23:30 保永志
    進入  回復  更多評論
      

    # re: python實現模擬登錄 2014-04-12 15:13 sunshinelyc
    你好,我想問一下,你的postData里面:
    'op' : 'dmlogin',
    'f' : 'st',
    'user' : '******', //你的用戶名
    'pass' : '******', //你的密碼,密碼可能是明文傳輸也可能是密文,如果是密文需要調用相應的加密算法加密
    'rmbr' : 'true', //特有數據,不同網站可能不同
    'tmp' : '0.7306424454308195' //特有數據,不同網站可能不同
    去哪里來的呢。我在httpfox里面只能找到user和password。謝謝回復  回復  更多評論
      

    # re: python實現模擬登錄 2014-06-03 08:59 ontseason
    @sunshinelyc
    抓包,用chrome的開發人員工具審查元素...network里
      回復  更多評論
      

    # re: python實現模擬登錄 2014-08-01 23:09 yu
    如果是驗證用戶名是否重復咋個實現  回復  更多評論
      

    # re: python實現模擬登錄 2014-10-01 11:54 jzp113
    你好,我按照你的方法進行了模擬登錄,能登錄成功。但是我用burpsuit 抓包時發現沒有cookie這內容。但是我開啟debuglog 又在header里面發現了這個cookie。
    然后我又再次發送了個get請求,當卻不成功  回復  更多評論
      

    # re: python實現模擬登錄 2014-10-20 13:55 Warmer
    頁面有checkbox的話,怎么模擬?  回復  更多評論
      

    # re: python實現模擬登錄[未登錄] 2015-05-16 09:47 1
    可以轉載么  回復  更多評論
      

    # re: python實現模擬登錄 2015-11-17 15:35 zhangyan
    dgrhtr  回復  更多評論
      

    # re: python實現模擬登錄 2015-11-17 15:35 zhangyan
    fegerh  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲AV一二三区成人影片| 久久久久亚洲Av片无码v| 亚洲中文无码mv| 成年丰满熟妇午夜免费视频| 亚洲va精品中文字幕| 黄色成人免费网站| 亚洲日本人成中文字幕| 亚洲AV无码国产丝袜在线观看 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | xvideos永久免费入口| 亚洲AV无码之日韩精品| 最好2018中文免费视频| a级亚洲片精品久久久久久久 | 亚洲另类视频在线观看| 毛片免费在线观看网站| 日本亚洲高清乱码中文在线观看| 国产免费人人看大香伊| a高清免费毛片久久| 亚洲国产精品婷婷久久| 91成人免费观看网站| 亚洲AV永久无码精品一福利| 免费黄网站在线看| 亚洲综合成人网在线观看| 亚洲一级毛片免费观看| 亚洲成a人无码亚洲成av无码| 免费人成在线观看网站品爱网日本 | 亚洲国产精品日韩| 成人精品一区二区三区不卡免费看| 亚洲精品国产成人99久久| 午夜视频在线观看免费完整版| 男女污污污超污视频免费在线看| 亚洲理论电影在线观看| 91手机看片国产永久免费| 亚洲6080yy久久无码产自国产| 国产亚洲精午夜久久久久久| 国产91免费在线观看| 国产精品视频全国免费观看 | 99久久亚洲精品无码毛片| 国产免费午夜a无码v视频| 99在线免费观看视频| 日韩国产欧美亚洲v片|