peewee创建连接前的前置操作wireshark抓包实现

 更新时间:2023年10月19日 11:48:27   作者:ponponon  
这篇文章主要为大家介绍了peewee创建连接前的前置操作wireshark 抓包实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

抓包

from core.mysql.models import ParseMonitoringDetail
from peewee import fn
from loguru import logger
group_by_parser_name: bool = True
group_by_error_class_name: bool = True
group_by_track_source_id: bool = True
query = (ParseMonitoringDetail
         .select(
             ParseMonitoringDetail.parser_name,
             ParseMonitoringDetail.error_class_name,
             ParseMonitoringDetail.track_source_id,
             fn.COUNT("*").alias('task_count')
         )
         .where(ParseMonitoringDetail.success == False)
         .order_by(fn.COUNT("*").alias('task_count').desc()))
if group_by_parser_name:
    query = query.group_by(
        ParseMonitoringDetail.parser_name,
    )
if group_by_error_class_name:
    query = query.group_by(
        ParseMonitoringDetail.error_class_name,
    )
if group_by_track_source_id:
    query = query.group_by(
        ParseMonitoringDetail.track_source_id
    )
logger.debug(f'sql: {str(query)}')
result = query.dicts().execute()
result = list(result)
logger.debug(result)

对应用户sql

执行上面的代码,对应用户的 sql 只有一个

SELECT
    `t1`.`parser_name`,
    `t1`.`error_class_name`,
    `t1`.`track_source_id`,
    COUNT('*') AS `task_count`
FROM
    `parse_monitoring_detail` AS `t1`
WHERE
    (`t1`.`success` = 0)
GROUP BY
    `t1`.`track_source_id`
ORDER BY
    `task_count` DESC

但是从 wireshark 抓包可以看到有多个 Request Query

192.168.26.31 是客户端
192.168.38.223 是 Mysql server

Request Query 究竟是啥呢?

第一个 Request Query

SET NAMES utf8mb4

第二个 Request Query

SET sql_mode='PIPES_AS_CONCAT'

第三个 Request Query

SELECT
    `t1`.`parser_name`,
    `t1`.`error_class_name`,
    `t1`.`track_source_id`,
    COUNT('*') AS `task_count`
FROM
    `parse_monitoring_detail` AS `t1`
WHERE
    (`t1`.`success` = 0)
GROUP BY
    `t1`.`track_source_id`
ORDER BY
    `task_count` DESC

以上就是peewee创建连接前的前置操作wireshark 抓包实现的详细内容,更多关于peewee连接前wireshark抓包的资料请关注脚本之家其它相关文章!

相关文章

  • Python实现线程池之线程安全队列

    Python实现线程池之线程安全队列

    这篇文章主要为大家详细介绍了Python实现线程池之线程安全队列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 简单的Python2.7编程初学经验总结

    简单的Python2.7编程初学经验总结

    这篇文章主要是作者写给Python2.7编程初学者的经验总结,侧重于包管理、代码调试等实际使用方面,需要的朋友可以参考下
    2015-04-04
  • Python最长公共子串算法实例

    Python最长公共子串算法实例

    这篇文章主要介绍了Python最长公共子串算法,实例分析了Python字符串操作的技巧,需要的朋友可以参考下
    2015-03-03
  • python 函数内部修改外部变量的方法

    python 函数内部修改外部变量的方法

    今天小编就为大家分享一篇python 函数内部修改外部变量的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 6个Python办公黑科技,助你提升工作效率

    6个Python办公黑科技,助你提升工作效率

    这篇文章主要介绍了Python办公黑科技,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-08-08
  • python中利用xml.dom模块解析xml的方法教程

    python中利用xml.dom模块解析xml的方法教程

    这篇文章主要给大家介绍了关于python中利用xml.dom模块解析xml的方法教程,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • Python之修改图片像素值的方法

    Python之修改图片像素值的方法

    今天小编就为大家分享一篇Python之修改图片像素值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python脚本传参数argparse模块的使用

    Python脚本传参数argparse模块的使用

    这篇文章主要介绍了Python脚本传参数argparse模块的使用,文章围绕argparse模块的相关资料展开具体的使用方法,具有一的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • python实现对文件进行MD5校验

    python实现对文件进行MD5校验

    这篇文章主要为大家详细介绍了如何使用python对文件进行MD5校验并比对文件重复,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • Python操作MySQL MongoDB Oracle三大数据库深入对比

    Python操作MySQL MongoDB Oracle三大数据库深入对比

    对于数据分析师来说,学习数据库最重要的就是学习它们的查询功能。这篇文章就以这个为切入点,为大家讲述如何用Python操作这3个数据库
    2021-10-10

最新评论