记录一下今天帮群友解决的一个问题

今天在接口自动化的群里有个好友问了一个问题,其实就是关于token的问题

1.首先是一个登陆接口,该接口是第一个接口所以不需要header,但是用脚本写的时还是要传一个header进去,所以我就穿了一个浏览器默认的header解决了问题,其次对于form-data的入参类型要以data=的形式去传

2.当第一个问题解决以后他又来问我,说用登录返回的token去请求查询接口的时为什么有报错了,报错:token错误

  我当时就郁闷了,打印出来看发现token明明是正确的啊,为什么服务器返回token错误呢?

 我就想到了,可能是seesion的问题,可能是由于登录接口再另一个py文件中,调用请求查询接口时就是另外一个session了,

所以就来修改了一下脚本,将登陆和查询写在一个py文件中,用一个seesion去管理,代码如下:

#coding:utf-8
import requests

s = requests.session()
def chaxun():
    u'查询接口'
    url = 'http://183.59.xxx.xx:8080/restful/api/authentication'
    #登录的入参
    in_data = {
        'username': "sendi",
        'password': "2MDL010618",
      'appid':"HDC2054490406A"
    }
    #请求头部
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
    }
    #发送请求
    r = s.post(url,headers = header,data = in_data)
    #获取token
    t = r.json()['token']
    print('登录返回的token是:%s' % t)

    #'信息查询接口'
    url_2 = 'http://183.59.xxx.xx:8080/restful/api/custinfo'
    #登录的入参
    in_data_2 = {
        'customer':'佛山威立雅垃圾填埋处理有限公司',
        'elecode':'IPCYW2267381990',
        'elename':'IPCYW2267381990',
        'NEName':'高明杨梅杨梅二楼综合机房01/S-T64G-1',
        'portName':'gei_4/8',
        'disabled':0,
        'is_vip':0,
        'page':1,
        'pagesize':10,
        'token':t
    }
    #请求头部
    r = s.post(url_2,headers = header,data = in_data_2)
    print(r.json())

if __name__=='__main__':
    chaxun()

打印一下:

查询成功,问题解决!。。。。哈哈!

以此记录一下!

猜你喜欢

转载自blog.csdn.net/xgh1951/article/details/81631843