import requests from utils.LogUtil import my_log from faker import Faker log = my_log() faker = Faker( 'zh_CN' ) class marketCreate(): def loginToken( self ,mobile,code): ''' 登陆、注册接口 :param mobile: 手机号 :param code: 验证码 :return: ''' url = 'http://api.xxxxxx.net/v1/user/loginOrRegister' #登陆接口请求地址 headers = { 'Content-Type' : 'application/json' } #请求头信息,json数据类型 json = { "code" :code, "deviceId" : "5de548ad0e268bc0" , "deviceName" : "HWNXT" , "mobile" :mobile, "mobilePrefix" : "63" , "version" : "39" } #请求数据 r = requests.post(url,headers = headers,json = json) #发送请求 token = r.json()[ 'data' ][ 'userVO' ][ 'token' ] #获取token log.info( '手机号' + mobile + '的token值为:' + token) #打印日志 return token #将token返回出去 def uploadimages( self ,mobile,file_path,filename): ''' 上传图片接口 :param mobile: 手机号 :param file_path: 文件路径 :param filename: 文件名称 :return: ''' token = self .loginToken(mobile = mobile, code = '789789' ) #请求登陆接口,获取token url = 'http://api.xxxxxx.net/v1/upload/images' #上传文件接口请求地址 headers = { 'token' : token} #请求头信息关联token。不需要赋值Content-Type,requests库会帮忙添加这个元素,加了可能会报错。 file_data = { 'file' :(filename, open (file_path, 'rb' ), 'image/jpeg' )} #重点:上传文件请求数据。 r = requests.post(url = url,headers = headers,files = file_data) #发送请求 print (r.json()) #打印响应结果 if __name__ = = '__main__' : m = marketCreate() # 测试,输入手机号、文件地址、文件名称信息; m.uploadimages(mobile = '639266558329' ,file_path = 'D:\pyCharm_work\cmkjProject\data\market.jpg' ,filename = '123456.jpg' ) |