目录
- import re
-
- def extract_get_parameters(request):
- # 查找GET请求中的参数部分
- match = re.search(r'GET\s+/.*\?(.*)\s+HTTP', request)
- if match:
- parameters = match.group(1)
- # 将参数部分按照 '&' 分割成键值对
- parameter_list = parameters.split('&')
- # 将键值对解析为字典形式
- parameters_dict = {}
- for parameter in parameter_list:
- key, value = parameter.split('=')
- parameters_dict[key] = value
- return parameters_dict
-
- return {}
-
- # 示例请求
- request = "GET /xxxx/xxxx HTTP/1.1\nHost: x.x.x.x.cn\n……{此处省略一万字}"
-
- parameters = extract_get_parameters(request)
- print(parameters)
- import re
-
- def count_get_parameters(request):
- # 查找GET请求中的参数部分
- match = re.search(r'GET\s+/.*\?(.*)\s+HTTP', request)
- if match:
- parameters = match.group(1)
- # 将参数部分按照 '&' 分割成键值对
- parameter_list = parameters.split('&')
- # 统计参数个数
- return len(parameter_list)
-
- return 0
-
- # 示例请求
- request = "GET /xxxx/xxxx HTTP/1.1\nHost: x.x.x.x.cn\n……{此处省略一万字}"
-
- count = count_get_parameters(request)
- print(count)
- import re
-
- def count_post_parameters(post_data):
- # 使用正则表达式提取JSON数据
- pattern = r"\{.*\}"
- match = re.search(pattern, post_data)
- if match:
- json_data = match.group()
- parsed_data = json.loads(json_data)
- parameter_count = len(parsed_data)
- return parameter_count
- else:
- return 0
-
- # 示例用法
- post_data = '''POST /xxxx/xxxx HTTP/1.1\nHost: x.x.x.x.cn\n……{此处省略一万字}'''
-
- parameter_count = count_post_parameters(post_data)
- print(parameter_count) # 输出:4
(与GET类似,就不再做叙述了)