一、商品的新增
1.导入的库
(1)requests:用于发送http请求,模拟客户端向服务器发送请求。
对于商品的新增,我们需要用的是post请求。
请求头包含“contente-type”,它的作用是告诉服务器我发送的请求体是用什么格式写的;“authorization”,它的作用是向服务器表明客户端的身份,以有权限访问服务器中的资源(tips:每个接口在一定时间内的authorization是相同的)。
对于载荷(我喜欢叫它请求体)所需要的参数,这是根据每个接口的具体要求而定的,可以用浏览器的F12进行抓包,看Network中的Payload,仿照着写就行了;
(2)json
因为requests需要传入的参数是json格式,而我们在python语言定义的对象是字典格式的,所以需要用到json包中的dumps方法,将python对象(字典)转化为json格式
因为requests返回的是python对象Respone(类型),我们需要将其中的text属性(是json格式)转化为字典格式(这样我们可以采用键值对的形式,将其中的值提取出来),所以我们需要导入json包,利用其中的loads方法,将其序列化(不太理解,先将其理解为可以用字典的形式提取相应的值就行),后面可以用来提取状态码呀、msg之类的信息。
(3)time
因为要创建多个商品,中间要暂停一会,让数据库缓缓,所以要用到time包中的sleep方法。
(4)random
用于随机从字符里面挑出几个来形成随机的商品名字。
2.开始写代码
(1)创建指定长度的随机商品名称
def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789' length = len(base_str) - 1 for i in range(randomlength): random_str += base_str[random.randint(0, length)] return random_str
(2)authorization、url、content-type的初始化
(3)请求头headers的设置
(4)创建空字典,用于存放随机的商品名称,其中长度可指定
(5)创建for循环,指定商品名称长度
(5.1)从(1)中创建的方法中接受指定长度的商品名称,specified_length_str
(5.2)将其赋值给(4)中创建的空字典,其中键名为“name”
(5.3)设置请求体,用字典格式,名为payload,其中的商品名就用specified_length_str。这里要注意,字典格式的值要置为空,需要设置为None,而null是不可行的;Flase首字符也要大写。
(6)使用requests方法,发送post请求,这里注意,传入的参数payload需要转化json格式,使用的方法是json.dumps
3.完结