快捷搜索:  汽车  科技

python怎么拿token(python接口自动化-token登录)

python怎么拿token(python接口自动化-token登录)2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行2.但是登录成功后有返回token 1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数

前言

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

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

一、登录返回token

1.如下图的这个登录,无cookies

python怎么拿token(python接口自动化-token登录)(1)

2.但是登录成功后有返回token

二、请求头带token

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

python怎么拿token(python接口自动化-token登录)(2)

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

三、token关联

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

猜您喜欢: