Python3+requests+unittest+log+excel+HTMLTestRunner+email框架接口自动化案例⑷——获取header方法/requests请求方法

一、获取header方法

getheader.py

# _*_ coding:utf-8 _*_

import json,requests
from  Common import readConfig

def get_token():
    "获取登录token"
    login=readConfig.Read_Config()                                        #类实例化
    login_url = login.get_info('Login', 'login_host')                     #获取登录url
    headers = json.loads(login.get_info('Login', 'login_headers'))        #登录headers
    data =json.loads(login.get_info('Login', 'login_account'))            #登录账号、密码
    r = requests.request('POST', login_url, json=data, headers=headers)   #登录接口请求
    return r.json()['access_token']                                       #返回登录token

def host_headers():
    headers={}
    headers['x-key-hash']=readConfig.Read_Config().get_info('HTTP', 'x-key-hash')   #获取x-key-hash
    headers['Content-Type']='application/json;charset=utf-8'                        #添加headers
    headers['Authorization']='Bearer '+get_token()                                  #添加headers
    return headers

if __name__ == '__main__':
    print(host_headers())

 

二、requests请求封装

configHttp.py

# _*_ coding:utf-8 _*_

import requests
from Common import getheader
from requests import exceptions

def req(method,url,**kwargs):
    "封装http请求方法"
    headers = getheader.host_headers()             #调用header方法
    try:
        result = requests.request(method,url,headers=headers,**kwargs)    #调用request方法
        return result
    except exceptions.Timeout:
        return {"请求超时"}
    except exceptions.InvalidURL:
        return {"非法url"}
    except exceptions.HTTPError:
        return {"http请求错误"}
    except Exception as e:
        return {"错误原因:%s" % e}

if __name__ == '__main__':
    url='服务器地址'
    params={"jobid":""}
    r=req('GET',url,params=params)
    print(r.json())

 

posted @ 2020-05-06 17:45  疯狂的机器人  阅读(462)  评论(0编辑  收藏  举报