zoukankan      html  css  js  c++  java
  • 模拟登陆通过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

  • 相关阅读:
    初步认识三层架构
    机器学习技法总结(六)Decision Tree Hypothesis
    spring 事件模式 源代码导读
    Missing 'name' key attribute on element activity at AndroidMan
    【iOS】KVC 与 KVO
    可用谷歌ip地址
    android menu事件
    #103. 子串查找
    P2590 [ZJOI2008]树的统计
    带修改莫队算法
  • 原文地址:https://www.cnblogs.com/silyvin/p/12102998.html
Copyright © 2011-2022 走看看