Request实战练习

144 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、mtx商城接口 商城的接口大部分需要依赖token关联,有买家、买家、管理员,不同的服务接口对应不同的token

#练习阶段:商城的接口大部分需要依赖token关联,有买家、买家、管理员,不同的服务接口对应不同的token
import requests

#将mtxshop商城的每一个接口都封装成一个函数,方便调用
#买家登录接口
def buy_login():
    #url
    url = 'http://www.mtxshop.com:7002/passport/login'
    #参数,类型为query,所以用params
    params = {
        'username':'shamo',
        'password':'e10adc3949ba59abbe56e057f20f883e',
        'captcha':'1512',
        'uuid':'123456'
    }
    #调用接口,并得到响应对象
    resp =requests.post(url=url,params=params)
    #从响应中提取access_token的值并且返回
    # 查看返回的json数据
    json = resp.json()
    # 获取access_token值,字典类型,键值对
    token = json['access_token']
    #因为后面所有的接口都会用到token,所以将这个值返回
    return token

#立即购买接口,该接口不会产生订单,而是相当于加入购物车,这个数据会被加入到redis缓存中
#如果立即购买成功,那么响应状态码就是200.接口响应信息是空的
#买家接口,关联token,购物车接口模块
def buy_now(token):
    url = 'http://www.mtxshop.com:7002/trade/carts/buy'
    headers = {
        'Authorization':token
    }
    params = {
        'sku_id' : 600,
        'num':1
    }
    resp1 = requests.post(url=url,headers=headers,params=params)
    return resp1


if __name__ =='__main__':
    #函数必须调用才会执行
    token = buy_login()
    resp1 =buy_now(token)
    #status_code = buy_login()
    #json = buy_login()

    #print('响应状态码:{}'.format(status_code))
    #print('查看返回json:{}'.format(json))
    print('查看返回token:{}'.format(token))
    print('买家接口响应状态码:{}'.format(resp1.status_code))
    print('买家接口响应状态码:{}'.format(resp1.text))

执行代码如下: image.png

image.png

执行结果: image.png

由于接口内容是第三方提供,所以无法写具体内容。

备注:遇到的问题: 1:mac hosts文件配置方式 2: return返回值——在函数中需要的值是要返回的 3:函数的调用——函数只有调用后,才会有执行结果