我們很多時候需要用python寫測試web的指令碼,但現在很多網站都需要登入才能進行下一步操作的,所以python類比登入在我們的日常操作中很重要,下來我給大家簡單介紹一下python是怎樣實現web登入的(不喜勿噴、大神繞道):
一、網站分析
分析目標web的登入頁面,主要擷取登入時向伺服器傳遞的格式及參數名(工具有很多種,如firefox的firebug外掛程式等等)
1、開啟分析工具,並選中“網路”》“保持”
2、點擊登入,並填入使用者名稱、密碼等資訊
3、找到登入url(一般為post,只有很垃圾的網站才會用get方式)
4、擷取登入參數
5、最終擷取到的參數
pastUrl=&username1=%E7%94%A8%E6%88%B7%E5%90%8D%2F%E6%89%8B%E6%9C%BA%E5%8F%B7&loginName=11111&loginPass1=%E8%AF%B7%E6%82%A8%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81&loginPass=111111
二、類比登入代碼編寫
import urllibimport urllib2values = {"loginName":"11111","loginPass":"111111"}data = urllib.urlencode(values)url = "http://10.70.18.47:8080/user/login"request = urllib2.Request(url,data)response = urllib2.urlopen(request)print(response.read())
三、類比登入返回結果
["{\"id\":\"unlogin\",\"isSuccess\":true,\"info\":\"\"}","{\"id\":\"pwlogin\",\"isSuccess\":true,\"info\":\"密碼格式不正確\"}","{\"pastUrl\":null,\"isSuccess\":true,\"info\":\"登陸成功\"}"][Finished in 0.3s]
此代碼執行的結果和目標網站的登入成功返回的結果一致,說明此類比登入代碼編寫成功。。。