123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- """
- 根据配置发送请求
- Author: songjian at <songjian12@baidu.com>
- # 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
|