【网络安全带你练爬虫-100练】第22练:数据包中参数提取与处理

这篇具有很好参考价值的文章主要介绍了【网络安全带你练爬虫-100练】第22练:数据包中参数提取与处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、目标1:GET数据包的处理

1、GET数据包中参数的提取

2、GET请求中 统计参数个数

二、目标2:POST数据包的处理

1、post中参数个数的提取

2、POST请求中 统计参数个数


一、目标1:GET数据包的处理

1、GET数据包中参数的提取

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)

2、GET请求中 统计参数个数

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)


二、目标2:POST数据包的处理

1、post中参数个数的提取

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

2、POST请求中 统计参数个数

(与GET类似,就不再做叙述了)文章来源地址https://www.toymoban.com/news/detail-695135.html

到了这里,关于【网络安全带你练爬虫-100练】第22练:数据包中参数提取与处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全带你练爬虫-100练】第15练:模拟用户登录

    目录 一、目标1:理清逻辑 二、目标2:将每一步用代码进行表示 三、网络安全O 模拟登录的基本流程 1、进入入口程序 2、读取目标URL 3、请求加上线程 4、确定请求数据包 5、请求格式的确认 6、数据的处理与判断 (顺序会进行标号) 对于不同的站点的登录 需要对数据包、请

    2024年02月15日
    浏览(41)
  • 【网络安全带你练爬虫-100练】第13练:文件的创建、写入

    目录 目标:将数据写入到文件中  网络安全O 开干 (始于颜值)打开一个,没有就会创建 (忠于才华)开始写入数据  完整代码  等价逻辑:  注释:  注意1: 数据是否多行  场景一: 一次写完列表中数据 (这样就可以直接直接使用)  场景二: 如果是for循环,逐行写入

    2024年02月16日
    浏览(50)
  • 【网络安全带你练爬虫-100练】第4练:添加异常处理代码

    目录 一、异常处理代码: 二、执行结果: 三、完整代码: 四、网络安全小圈子   (当代码越来越长的时候,异常处理代码有时候能起到很好的作用) (注:其中的cookie需要填自己的) (1)try-except搭配:try后面的代码是要监视异常的代码块,except后面的代码是

    2024年02月15日
    浏览(46)
  • 【网络安全带你练爬虫-100练】第1练:发送请求获取返回内容

    目录 一、前置知识1 二、前置知识2 requests库的7个主要方法 语法: 注解: 三、扩展工具 四、网络安全小圈子 顾名思义网络爬虫第一步,爬取目标 URL的网页的信息 可以使用 urllib.request 和 requests发送请求,然后返回对应的数据(py3) 1、urllib 库是 Python 内置的 2、requests 库是

    2024年02月12日
    浏览(43)
  • 【网络安全带你练爬虫-100练】第14练:文件内容的读取、取出

    目录 一、目标1:把文件内容遍历取出 二、目标2:把文件内容全部取出 三、网络安全O  (1)如果文件脚本在不同目录 (2)如果文件直接和脚本在同一目录  (1)存放取出的元素 (2)将目标文件内容的元素依次取出 (for循环) (3)所有元素依次添加进列表中 (4)完整

    2024年02月16日
    浏览(42)
  • 【网络安全带你练爬虫-100练】第23练:文件内容的删除+写入

    目录 0x00 前言: 0x02 解决: 本篇博文可能会有一点点的超级呆 你是不是也会想: 使用pyrhon将指定文件夹位置里面的1.txt中数据全部删除以后----然后再将参数req_text的值写入到1.txt (小呆呆实锤) 区分一下: “w”模式: 使用 \\\"w\\\" 模式打开一个文件时,如果该文件已经存在,

    2024年02月09日
    浏览(42)
  • 【网络安全带你练爬虫-100练】第5练:爬虫的翻页操作+错误情况过滤

    目录 一、翻页分析: 二、代码逻辑 1、入口程序修改 2、page参数传入 三、完整代码 1、运行结果 2、错误分析: 3、缺陷代码: 4、完善逻辑: 5、完善代码: (说在前面,任何逻辑都有很多方法实现,我们先从最笨的讲起) (注:其中的cookie需要填自己的) 通过对比第一页与

    2024年02月12日
    浏览(46)
  • 【网络安全带你练爬虫-100练】第19练:使用python打开exe文件

    目录 一、目标1:调用exe文件 二、目标2:调用exe打开文件 1、subprocess 模块允许在 Python 中启动一个新的进程,并与其进行交互 2、subprocess.run() 函数来启动exe文件 3、subprocess.run([\\\"文件路径\\\"],check=True/) 4、check:如果程序返回一个非零的退出码,subprocess.run() 函数就会抛出一个

    2024年02月11日
    浏览(43)
  • 【网络安全带你练爬虫-100练】第21练:批量获取文件夹中文件名

    目录 一、目标1:使用python爬取指定文件夹中的文件名 二、目标2:在文件夹指定目录打开命令行 方法一:使用 os 模块 将 /path/to/folder 替换为实际的文件夹路径。 os.listdir() 函数用于获取指定文件夹中的文件名列表,然后可以遍历列表并处理每个文件名 方法二:使用 glob 模块

    2024年02月09日
    浏览(37)
  • 【网络安全带你练爬虫-100练】第10练:re的正则匹配、文件夹创建、图片下载

    目录 一、目标1:正则匹配图片的URL 二、目标2:创建文件夹 三、目标3:保存图片到test文件夹中  四、网络安全小圈子 URL位置 我们可以找到img都在这个标签里面     请求方法GET   提取URL位置 需要掌握的 目标标签如下: 需要提取的内容如下: (多加了一个为转义字

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包