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))