Commit f8fdf32c by jiaqiying

request_main 兼容不同的headers content_type和mimitype特殊字段

parent 7220dd74
...@@ -9,23 +9,43 @@ from config import * ...@@ -9,23 +9,43 @@ from config import *
def request_main(url, headers, method, data): def request_main(url, headers, method, data):
"""封装requests的通用请求方法""" """封装requests的通用请求方法"""
res = None res = None
def request_by_method(method, headers):
inner_res = None
try:
header_content_type = headers["Content-Type"]
except KeyError:
header_content_type = headers["mimeType"]
try:
if method.upper() == "GET":
inner_res = requests.get(url=url, headers=headers, params=data)
elif method.upper() == "POST":
if header_content_type == "application/json":
inner_res = requests.post(url=url, headers=headers, data=json.dumps(data))
elif header_content_type in ["application/x-www-form-urlencoded"]:
inner_res = requests.post(url=url, headers=headers, data=data)
return inner_res
except Exception as e:
logging.log(str(e))
raise Exception
if headers == None or headers == {} or headers == "": if headers == None or headers == {} or headers == "":
# 如果传的headers为空,使用各自产品的通用headers # 如果传的headers为空,使用各自产品的通用headers
headers = get_headers() headers = get_headers()
header_content_type = headers["Content-Type"]
try: try:
if method.upper() == "GET": res = request_by_method(method, headers)
res = requests.get(url=url, headers=headers, params=data) except requests.exceptions.ConnectionError as e:
elif method.upper() == "POST":
if header_content_type in ["application/x-www-form-urlencoded"]:
res = requests.post(url=url, headers=headers, data=data)
elif header_content_type == "application/json":
res = requests.post(url=url, headers=headers, data=json.dumps(data))
except Exception as e:
logging.log(str(e)) logging.log(str(e))
raise Exception except requests.exceptions.RequestException as e:
logging.log(str(e))
if "mimeType" in headers.keys():
headers['mimeType'] = "application/x-www-form-urlencoded"
else:
headers['Content-Type'] = "application/x-www-form-urlencoded"
try:
res = request_by_method(method, headers)
except requests.exceptions.RequestException as e:
logging.log(str(e))
if res != None: if res != None:
return res.json() return res.json()
return res return res
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment