def request(self, requestMethod, requestUrl, paramsType, requestData=None, headers=None, cookies=None):
if requestMethod.lower() == "post":
if paramsType == "form":
response = self.__post(url=requestUrl, data=json.dumps(eval(requestData)), headers=headers,cookies=cookies)
return response
elif paramsType == "json":
response = self.__post(url=requestUrl, json=json.dumps(eval(requestData)), headers=headers, cookies=cookies)
return response
eval、json.dumps:
-
eval函数就是实现str与list、dict、tuple之间的转化
-
str函数把list,dict,tuple转为为字符串
-
json.dumps是将一个Python数据结构转换为JSON
- requestData: {'username': 'zhangdongliang000', 'password': '9f4f4ec3d6fc9168cea54c4cc00c3eba'}
- type requestData: <class 'str'>
- 得到的请求参数,requestData是str类型,即"{'username': 'zhangdongliang000', 'password': '9f4f4ec3d6fc9168cea54c4cc00c3eba'}"
- 通过eval(requestData),可以将两个引号去掉,让其变为dict类型,即{'username': 'zhangdongliang000', 'password': '9f4f4ec3d6fc9168cea54c4cc00c3eba'}
- 然后再用json.dumps()将其转换为JSON串(单引号),即’{'username': 'zhangdongliang000', 'password': '9f4f4ec3d6fc9168cea54c4cc00c3eba'}‘
注意转变为json串后引号就是单引号了