当前位置:首页>python>7 个 Python 库让你的网络编程脱胎换骨

7 个 Python 库让你的网络编程脱胎换骨

  • 2026-03-26 09:16:16
7 个 Python 库让你的网络编程脱胎换骨

网络编程之所以“可怕”,不是 Python 的问题,是你一直在用“造原子弹的方式烧开水”。大多数开发者被原生 socket 的细节(阻塞/非阻塞、粘包、并发模型)劝退,却不知道已经有现成的武器库能让这件事变得优雅。今天一次性给你 7 个“后悔没早用”的 Python 网络库。

1. trio——治好你的并发 PTSD

如果你曾被 asyncio 的事件循环折磨到怀疑人生(回调地狱、忘记 await、任务泄漏),trio 就是你的心理咨询师。它实现了一套结构化并发模型,核心思想很简单:并发有开始就有结束,不会像“幽灵任务”一样飘在你代码里。

生活化类比:

asyncio 像你自己管理一屋子的实习生——你得盯着谁在干活、谁偷懒、谁消失了。trio 则是“包工头模式”,你把任务派出去,它确保所有活干完才收工,中途出问题立刻全员撤退。

正式定义:

trio 通过 trio.run() 启动根任务,所有子任务通过 nursery(任务池)管理。当一个任务异常或退出,整个 nursery 内的任务会被自动取消并等待退出,彻底消除“僵尸任务”。

# 环境:Python 3.10+,安装 pip install trio
import trio

asyncdefhandle_client(stream):
    data = await stream.receive_some(1024)
# ==关键:这里不需要考虑连接何时关闭、谁清理资源==
await stream.send_all(b"Hello, network.\n")

asyncdefmain():
# trio.serve_tcp 自动管理监听、连接、错误隔离
await trio.serve_tcp(handle_client, port=12345)

trio.run(main)

# 复杂度:O(1) 连接处理,资源回收由结构化并发保证

⚠️ 注意:如果你还在用 asyncio 写新项目且没有强依赖(比如 FastAPI),强烈建议试一下 trio。它不是“另一个异步库”,而是一种彻底杜绝竞态条件和资源泄漏的编程范式。

2. asyncssh——别再 subprocess.Popen 调 ssh 了

运维场景下最常见的错误写法:用 subprocess 执行 ssh 命令,然后解析 stdout。这种方式不仅慢,而且处理跳板机、长连接、异常恢复时脆弱得像个纸房子。

生活化类比:

subprocess + ssh 就像每次需要联系同事,你都写一封纸质信塞到他桌上,然后等他回信。asyncssh 则是直接拉了个内部聊天群——随时发消息、传文件、执行指令,全程不丢包。

正式定义:

asyncssh 是原生的 SSHv2 协议异步实现,支持客户端/服务端、SFTP、隧道转发,所有操作非阻塞,完全融入 Python 异步生态。

# 环境:Python 3.8+,安装 pip install asyncssh
import asyncio
import asyncssh

asyncdefrun_command():
asyncwith asyncssh.connect('example.com', username='user'
                                 known_hosts=Noneas conn:  # 仅示例,生产慎用 known_hosts=None
# ==直接执行远程命令,返回结构化结果==
        result = await conn.run('uptime', check=True)
        print(f"结果: {result.stdout}")
        print(f"错误: {result.stderr}")

asyncio.run(run_command())

# 复杂度:异步 IO,连接复用,适合批量执行任务(如部署脚本)

扩展思考:在国内云原生场景下,很多团队用 ansible 做运维,但 ansible 本质还是 SSH 之上的声明式封装。如果你需要细粒度控制、高性能并发、嵌入到 Python 应用中(比如自研发布平台),asyncssh 是更好的底层选择。阿里云、腾讯云的部分内部运维工具,底层就大量使用类似方案。

3. zeroconf——告别写死 IP 地址

你有没有遇到过这种场景:写了个内部工具,需要知道某个服务跑在哪台机器、哪个端口,结果只能写死在配置文件里,每次部署都改一遍?

生活化类比:

zeroconf 相当于给局域网里的每个服务发了一个“大喇叭”,启动时喊一嗓子“我在这里”,其他机器自动听到,不需要任何人登记 IP。就像你进办公室不需要记每个人的工位号,喊一声就能找到人。

正式定义:

zeroconf 是 mDNS(多播 DNS)和 DNS-SD(DNS 服务发现) 的 Python 实现,让设备在局域网内自动发现彼此,无需中心化服务注册中心。

# 环境:Python 3.8+,安装 pip install zeroconf
from zeroconf import Zeroconf, ServiceInfo
import socket

# 注册一个服务,让其他机器发现
info = ServiceInfo(
"_demo._tcp.local.",                      # 服务类型
"MyService._demo._tcp.local.",            # 服务实例名
    addresses=[socket.inet_aton("192.168.1.100")],  # 本机IP(可自动获取)
    port=8080,
)

zc = Zeroconf()
zc.register_service(info)
print("服务已注册,等待发现...")

# 其他机器可以这样发现:
# from zeroconf import ServiceBrowser, ServiceListener
# 实现监听回调即可

# 复杂度:O(1) 注册,发现过程依赖网络组播,适合小规模局域网

国内实践:这类技术在家用 IoT(米家设备发现)、企业内部开发环境(微服务本地联调)中非常实用。想象一下,你在微信小程序开发时,后端服务启动后自动被前端发现,不用反复切配置文件——这就是 zeroconf 能干的事。

4. dpkt——手撕数据包,不做“网络玄学”

“网络没问题”是运维和开发之间最大的谎言。当你怀疑网络层面有问题,需要抓包分析时,很多人会打开 Wireshark 手动翻,但一旦数据量大或需要自动化分析,你就需要一个能编程解析包的工具。

生活化类比:

Wireshark 是给你一本《网络故障百科全书》,让你翻着看。dpkt 是把全书做成了数据库,你可以写 SQL 一样去查:哪些 IP 在重传?哪个端口在发异常包?

正式定义:

dpkt 是一个快速、轻量的包解析库,支持以太网、IP、TCP、UDP、HTTP 等多种协议,能处理 GB 级 PCAP 文件,内存占用低。

# 环境:Python 3.8+,安装 pip install dpkt
import dpkt

with open('capture.pcap''rb'as f:
    pcap = dpkt.pcap.Reader(f)
for timestamp, buf in pcap:
        eth = dpkt.ethernet.Ethernet(buf)
# 检查是否 IP 包
if isinstance(eth.data, dpkt.ip.IP):
            ip = eth.data
# ==高亮:直接打印源和目的 IP==
            print(f"时间: {timestamp}, 源IP: {socket.inet_ntoa(ip.src)}, 目的IP: {socket.inet_ntoa(ip.dst)}")

# 检查 TCP 层
if isinstance(ip.data, dpkt.tcp.TCP):
                tcp = ip.data
                print(f"  TCP 端口: {tcp.sport} -> {tcp.dport}")

# 复杂度:O(n) 遍历包,单包解析 O(1),适合批量离线分析

⚠️ 注意dpkt 适合分析而非构造。如果你要构造自定义包(如扫描工具),可以结合 scapy。但在生产环境做流量监控、安全审计、协议逆向时,dpkt 的性能和稳定性远胜 scapy

5. socketify.py——让 Python 也能硬刚 C++ 的并发

很多人根深蒂固的偏见:“Python 做不了高吞吐网络服务”。socketify.py 就是来打脸的。它底层基于 uWebSockets(C++ 实现),上层暴露给 Python,性能接近原生,尤其适合 WebSocket、实时推送场景。

生活化类比:

传统 Python Web 框架(Flask、Django)像餐馆大堂经理,每桌客人来都要新开一个服务员(线程/进程),人多就乱。socketify.py 则是个中央厨房流水线,一个配菜员(单线程事件循环)就能同时处理几百个订单,毫秒级响应。

正式定义:

socketify.py 是 uWebSockets 的 Python 绑定,提供事件驱动、零拷贝、异步非阻塞的 HTTP/WebSocket 服务,并发能力远超传统 Python Web 框架。

# 环境:Python 3.8+,安装 pip install socketify
from socketify import App

app = App()

@app.get("/")
defhome(res, req):
# ==直接响应,没有 WSGI 开销==
    res.end("Fast. Really fast.")

@app.ws("/ws")
defws_handler(ws, msg):
    ws.send(f"收到: {msg}")

app.listen(3000lambda config: print("监听 3000 端口"))
app.run()

# 复杂度:事件驱动,单进程可支撑数万并发连接

国内场景:在“双十一”大促、实时弹幕、股票行情推送这类场景,以前大家默认要上 Go/Node.js。现在 socketify.py 给了 Python 开发者一个“不换语言也能硬刚”的选择。配合 PyPy 或优化后的 CPython,可以做到单机万级 WebSocket 连接。

6. pynetdicom——你可能永远用不上,但它的设计值得学习

医疗行业 DICOM 协议(医学影像传输)是出了名的“又老又复杂”。pynetdicom 完整实现了这套协议,而且质量极高——状态机严谨、错误处理完备、完全符合行业标准。

为什么普通人也要看:

不是让你去写医疗软件,而是让你理解“一个真正生产级的网络协议栈应该怎么写”。它展示了如何用 Python 实现带状态的复杂协议、如何做关联协商、如何优雅处理断连重试。

# 环境:Python 3.8+,安装 pip install pynetdicom
from pynetdicom import AE

# 创建应用实体
ae = AE()
# 添加上下文(DICOM 里的“能力协商”)
ae.add_requested_context('1.2.840.10008.1.1')  # 验证 SOP 类

# 建立关联
assoc = ae.associate('127.0.0.1'104)
if assoc.is_established:
    print("✅ 已连接 DICOM 服务")
# 这里可以发送影像、查询等操作
    assoc.release()
else:
    print("❌ 连接失败")

核心借鉴点:

  • 关联管理:连接不是“一发一收”,而是先协商能力再交互,类似现代微服务中的“握手 + 协议版本协商”。
  • 状态机:每个操作有明确的状态流转,代码中大量使用 State 模式,易于测试和审计。
  • 容错:网络抖动、超时、异常都有显式处理,而不是简单的 try-except

如果你正在设计一个需要长期稳定运行的网络中间件(比如代理、网关),研究 pynetdicom 的实现会给你很多启发。

7. mitmproxy(作为库)——让网络“透明”起来

几乎所有人都用过 mitmproxy 这个命令行工具(抓包、改包、调试)。但很少有人知道,它可以作为 Python 库嵌入你的代码,编写自动化流量干预逻辑

生活化类比:

mitmproxy 工具像给你个显微镜看网络流量。而把它当库用,相当于你可以写个机器人,自动把显微镜下的东西挑出来、改掉、再放回去,全程自动化。

正式定义:

mitmproxy 提供了一套插件化的中间人代理框架,你可以在 Python 中定义 requestresponsewebsocket 等钩子,拦截、修改、重放流量,常用于自动化测试、API 调试、安全审计。

# 环境:Python 3.8+,安装 pip install mitmproxy
# 文件: addons/demo.py
from mitmproxy import http

defrequest(flow: http.HTTPFlow):
# ==拦截所有包含 api 的请求==
if"api"in flow.request.pretty_url:
        print(f"🎯 捕获 API 请求: {flow.request.pretty_url}")
# 可以修改请求头、body,甚至直接返回 mock 数据
# flow.response = http.Response.make(200, b'{"mock": true}')

启动方式:mitmdump -s addons/demo.py,或嵌入你的 Python 脚本中。

扩展思考
在微服务架构中,你经常遇到“本地调试依赖线上服务”或“测试环境数据不够真实”的问题。用 mitmproxy 作为库,可以搭建一个透明代理,动态将某些请求转发到本地、修改响应字段、甚至模拟超时和错误,做混沌工程自动化回归测试。腾讯云、阿里云的部分 API 网关调试工具,内部就有类似设计。

写在最后

网络编程的“降维打击”

回顾这 7 个库,你会发现它们做了一件共同的事:将底层协议和网络细节封装成符合 Python 哲学(可读、显式、优雅)的接口。从 trio 的结构化并发,到 zeroconf 的服务发现,再到 mitmproxy 的流量操纵,每个库都在解决一个具体场景下的“网络痛苦”。

我的建议是:不要为了“原生”而原生。如果你的目标是快速交付稳定服务,选这些库不是偷懒,是专业。就像你不会因为“想学发动机原理”就拒绝开车上班一样,网络编程也应该有更高的抽象。

参考资料
[1] 

trio 官方文档: https://trio.readthedocs.io/

[2] 

asyncssh 项目主页: https://asyncssh.readthedocs.io/

[3] 

zeroconf 原理介绍(RFC 6762): https://datatracker.ietf.org/doc/html/rfc6762

[4] 

dpkt 示例库: https://github.com/kbandla/dpkt

[5] 

socketify.py GitHub: https://github.com/cirospaciari/socketify.py

[6] 

pynetdicom 官方文档: https://pydicom.github.io/pynetdicom/

[7] 

mitmproxy 插件开发指南: https://docs.mitmproxy.org/stable/addons-overview/

🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉PythonMySQL数据分析数据可视化机器学习与数据挖掘爬虫等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 09:59:14 HTTP/2.0 GET : https://f.mffb.com.cn/a/482567.html
  2. 运行时间 : 0.089468s [ 吞吐率:11.18req/s ] 内存消耗:4,643.88kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a6e8562260fb46bac366fc5e7a6cf20f
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000638s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000799s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000289s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000217s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000479s ]
  6. SELECT * FROM `set` [ RunTime:0.000195s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000585s ]
  8. SELECT * FROM `article` WHERE `id` = 482567 LIMIT 1 [ RunTime:0.003416s ]
  9. UPDATE `article` SET `lasttime` = 1774576754 WHERE `id` = 482567 [ RunTime:0.010469s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000232s ]
  11. SELECT * FROM `article` WHERE `id` < 482567 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000514s ]
  12. SELECT * FROM `article` WHERE `id` > 482567 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000390s ]
  13. SELECT * FROM `article` WHERE `id` < 482567 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000684s ]
  14. SELECT * FROM `article` WHERE `id` < 482567 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000702s ]
  15. SELECT * FROM `article` WHERE `id` < 482567 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002627s ]
0.091068s