#!/usr/bin/env python # -*- coding:utf-8 -*- """ 根据配置发送请求 Author: songjian at # Created: 2020/4/21 """ import sys import os import json import logging import apiMethod reload(sys) sys.setdefaultencoding('utf-8') def send_by_file(request_type, parameter_type, url, headers, parameter, file_path, file_key='file'): """ 读取配置文件发送请求 """ result_list = [] with open(file_path, 'r') as lines: for line in lines: if parameter_type == 'form-data': result = apiMethod.post(url=url, header=headers, request_parameter_type='form-data', data=parameter, filePath=line.strip().encode('utf-8'), file_key=file_key) elif request_type == 'post': result = apiMethod.post(url=url, header=headers, data=line.strip().encode('utf-8')) elif request_type == 'get': result = apiMethod.get(url=url, header=headers, data=line.strip().encode('utf-8')) result_list.append(result) return result_list def send_request(data): """ 发送请求 """ url = '' result = [] try: if 'http' not in data["host"]: url = 'http://' url += data["host"] + data["address"] except KeyError: logging.error(KeyError) if data['para_file'] or data['parameter_type'] == 'form-data': result = send_by_file(data['request_type'].lower(), data['parameter_type'], url, data['headers'], data['parameter'], data['parameter_path'], data['file_key']) else: if data['request_type'].lower() == 'get': result.append( apiMethod.get(url=url, header=data['headers'], data=json.dumps(data['parameter'], ensure_ascii=False).encode('utf-8'))) elif data['request_type'].lower() == 'post': result.append( apiMethod.post(url=url, header=data['headers'], data=json.dumps(data['parameter'], ensure_ascii=False).encode('utf-8'))) elif data['request_type'].lower() == 'put': result.append( apiMethod.put(url=url, header=data['headers'], data=json.dumps(data['parameter'], ensure_ascii=False).encode('utf-8'))) return result