def get_parameter(url, data, http_method, content_type): """ get和BaseTrafficParser一致, post不一致 :param url: :param data: :param http_method: :param content_type: :return: """ if (http_method and http_method.lower() == HttpMethod.GET) or content_type is None: return BaseTrafficParser.get_parameter(url=url, data=data, http_method=http_method, content_type=content_type) elif http_method and http_method == HttpMethod.POST: return ChromeTrafficParser._parse_post_parameter(data, content_type)
def testGetParameter(self): """ 获取参数 :return: """ from common.http_util import HttpMethod from common.http_util import ContentType from parser.base_traffic_parser import BaseTrafficParser # 测试get 请求 print( BaseTrafficParser.get_parameter( url="http://127.0.0.1:65412/?path=", data=None, http_method=HttpMethod.GET, content_type=None)) print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/?name=23232&password=78812", data=None, http_method=HttpMethod.GET, content_type=None)) print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/?name=中文&password=78812", data=None, http_method=HttpMethod.GET)) print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/?name=%E4%B8%AD%E6%96%87&password=78812", http_method=HttpMethod.GET)) print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/?name=中文&password=78812#", data=None, http_method=HttpMethod.GET)) print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/?name=中文……**$$$&password=78812、#", data=None, http_method=HttpMethod.GET)) print( BaseTrafficParser.get_parameter( url= "http://127.0.0.1/?name=中文&password=78812!@#¥%……*()_+|}{QASDFGHJK<>MNZXCVBN#", http_method=HttpMethod.GET)) print("=========post2=========") # 测试 post 请求 # 普通 application/x-www-form-urlencoded 类型 print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/login", data="name=23333&", http_method=HttpMethod.POST, content_type=ContentType.ResourceContentType.DEFAULT)) # 普通 application/json 类型 print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/login", data='{"name":"23333"}', http_method=HttpMethod.POST, content_type=ContentType.ResourceContentType.JSON)) # print(BaseTrafficParser.get_parameter(url='{\\\"username\\\":\\\"admin\\\",\\\"password\\\":\\\"passss\\\"}', http_method=HttpMethod.POST, content_type=ContentType.ResourceContentType.JSON)) # 普通 text/xml 类型,暂不支持 print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/login", data="<name>23333</name>", http_method=HttpMethod.POST, content_type=ContentType.ResourceContentType.XML)) upload_data1 = """------WebKitFormBoundaryH0TGOzR6zJhOJSVB \n Content-Disposition: form-data; name="file"; filename="5.png" \n Content-Type: image/png \n XXXXXX \n ------WebKitFormBoundaryH0TGOzR6zJhOJSVB-- """ upload_data2 = """ ------WebKitFormBoundarydnAY6LXdz8oOOXxy\\r\\nContent-Disposition: form-data; name=\\\"file\\\"; filename=\\\"5.png\\\"\\r\\nContent-Type: image/png\\r\\n\\r\\n\ """ # 普通上传文件表单 multipart/form-data; boundary=----WebKitFormBoundaryH0TGOzR6zJhOJSVB, print( BaseTrafficParser.get_parameter( url="http://127.0.0.1/upload", data=upload_data1, http_method=HttpMethod.POST, content_type=ContentType.ResourceContentType.FORM))