本小仙女在之前寫(xiě)過(guò)一篇文章苍苞,文章的名字叫做《你以為你了解了http以及post和get?》,其實(shí)這篇文章主要講了網(wǎng)絡(luò)請(qǐng)求的原理狼纬。然后重點(diǎn)講了一下post請(qǐng)求和get請(qǐng)求羹呵。今天,偶想講的呢是自動(dòng)化測(cè)試中的“網(wǎng)絡(luò)請(qǐng)求封裝”疗琉。一般來(lái)說(shuō)冈欢,現(xiàn)在市面上大部分的公司也就使用post或者get兩種請(qǐng)求方式。所以想要了解更多關(guān)于http請(qǐng)求盈简,請(qǐng)移步至http://www.reibang.com/p/32860968f631
這邊就簡(jiǎn)單的封裝了一個(gè)python中請(qǐng)求網(wǎng)絡(luò)接口的方法凑耻,此方法通過(guò)傳入請(qǐng)求方法、請(qǐng)求路徑柠贤、請(qǐng)求參數(shù)等入?yún)⑾愫疲M(jìn)行調(diào)用,代碼如下臼勉,調(diào)用即可:
import requests
import json
class CommonRequests:
def __init__(self):
self.session = requests.Session()
def request(self, method, url, data=None, is_json=False, **kwargs):
"""
發(fā)送請(qǐng)求
:param method: POST邻吭、GET
:param url: 請(qǐng)求路徑
:param data: 請(qǐng)求參數(shù)
:param is_json: 入?yún)⑹欠駷閖son格式
:param kwargs: 請(qǐng)求頭等其他的入?yún)? :return: 接口返回
"""
method = method.upper()
if isinstance(data, str): # 對(duì)傳入的參數(shù)進(jìn)行簡(jiǎn)單處理
try:
data = json.loads(data)
except Exception as e:
print("異常為{}".format(e))
data = eval(data)
if method == "GET":
response = self.session.request(method=method, url=url, params=data, **kwargs)
elif method == "POST":
if is_json: # 請(qǐng)求參數(shù)是json格式
response = self.session.request(method=method, url=url, json=data, **kwargs)
else:
response = self.session.request(method=method, url=url, data=data, **kwargs)
else:
response = None
return response
def close(self):
self.session.close()