模擬登陸通過csrftoken驗證


問題:想模擬web端請求,但是發現僅帶了登錄的session會報403,查看請求頭發現還需要攜帶csrftoken,所以開始研究csrftoken

csrftoken:為了防止跨站域請求偽造,有的網站請求中會加入這個驗證,在登錄及登錄后續的操作都會讓你攜帶csrftoken,問題在於csrftoken每次刷新界面都要發生變化,所以查到csrf生成的位置就是關鍵所在,有的網站會把csrftoken放在html代碼中返回給前端,這種找起來會比較簡單,但我想模擬的這個網站csrftoken獲取方式是這樣的:

1.請求中有一個類似csrf.js的請求,在返回的一堆js代碼中找到獲取csrftoken的方法,找到獲取csrftoken的網址;

 
 

2.然后編寫接口請求時每次請求前都要獲取一次csrftoken,提取出token;
'''
url_gettoken = "http:****/api/getcsrftoken"
h = httplib2.Http('.cache')
r,c = h .request(url_gettoken, 'GET')
ss = json.dumps(r)
sf =json.loads(ss)[u'set-cookie']
csrftoken = re.findall(r"csrftoken=(.+?);",sf)[0]
'''
3.然后在你下面的請求頭中加入csrftoken:
'''
openner1.addheaders.append(('X-CSRFToken',sc))

 


==================
作者:抓蟲的蝸牛
鏈接:https://www.jianshu.com/p/47b00ee963d2


免責聲明!

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



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