python接口自动化10-token登陆

前言python

有些登陆不是用cookie来验证的,是用token参数来判断是否登陆。json

token传参有两种一种是放在请求头里,本质上是跟cookie是同样的,只是换个单词而已;另一种是在url请求参数里,这种更直观。cookie

 

1、登陆返回tokensession

1.以下图的这个登陆,无cookiesapp

2.可是登陆成功后有返回tokenpost

 

2、请求头带tokenurl

1.登陆成功后继续操做其它页面,发现post请求的请求头,都会带token参数spa

2.这种请求其实比cookie更简单,直接把登陆后的token放到头部就行code

 

3、token关联orm

1.用脚本实现登陆,获取token参数,获取后传参到请求头就能够了

2.若是登陆有验证码,前面的脚本登陆步骤就省略了,本身手动登陆后获取token

# coding:utf-8
import requests

header = {   # 登陆抓包获取的头部
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
        "Accept": "*/*",
        "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
        "Accept-Encoding": "gzip, deflate",
        "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
        "X-Requested-With": "XMLHttpRequest",
        "Content-Length": "423",
        "Connection": "keep-alive"
        }

body = {"key1": "value1",
        "key2": "value2"}  # 这里帐号密码就是抓包的数据

s = requests.session()
login_url = "http://xxx.login"   # 本身找带token网址
login_ret = s.post(login_url, headers=header, data=body)
# 这里token在返回的json里,能够直接提取
token = login_ret.json()["token"]

# 这是登陆后发的一个post请求
post_url = "http://xxx"
# 添加token到请求头
header["token"] = token
# 若是这个post请求的头部其它参数变了,也能够直接更新
header["Content-Length"]="9"
body1 = {
         "key": "value"
         }
post_ret = s.post(post_url, headers=header, data=body1)
print post_ret.content

---------------------------------python接口自动化完整版-------------------------

全书购买地址 https://yuedu.baidu.com/ebook/585ab168302b3169a45177232f60ddccda38e695


做者:上海-悠悠 QQ交流群:588402570

也能够关注下个人我的公众号:

相关文章
相关标签/搜索