自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 AI 应用缓存键怎么设计?租户、模型、提示词与索引版本的 7 项离线验证

同一个问题命中了缓存,答案却属于另一个租户,问题往往出在缓存键过于简单。AI 应用的输出不仅由问题文字决定,还可能取决于租户、模型、提示词版本、检索索引和权限上下文。

2026-10-26 09:58:40 155

原创 AI Agent 工具调用为什么会重复执行?用幂等键和状态机复现重试边界

用幂等键、状态机和可回放实验拆解 Agent 工具重试:超时不等于失败,结果未知时不要创建新副作用。

2026-10-08 10:41:19 205

原创 Python 爬虫解析 JSON-LD:多块 script、@graph 与坏数据的 9 个边界

解析网页 JSON-LD 时,别只取第一块 script:本文用 Python 标准库处理多块文档、@graph、坏 JSON 与字段边界,并附可复现实验。

2026-10-08 10:24:31 328

原创 srcset 看懂了仍会抓错图?用 Python 拆解 <picture>、sizes 与 w/x 描述符

用可复现的 Python 选择器拆开 srcset、sizes 与 picture 的职责,验证常见选图错误和爬虫入库边界。

2026-10-07 10:02:10 145

原创 robots.txt 不是门禁:RFC 9309 规则、缓存与 Python 爬虫的 10 个边界

从 RFC 9309 和本机 Python 3.13.13 实验出发,梳理 robots.txt 的匹配、缓存、失败处理与安全边界。

2026-10-07 10:00:55 402

原创 asyncio.Queue 有界队列实战:背压、task_done、join 与异常收尾

用完整Python本地流水线验证有界队列的背压、排队量与在途量、task_done和join、结束哨兵以及TaskGroup异常传播。说明信号量为何不能单独限制积压,避免将队列清空误报为业务成功。

2026-09-30 10:17:37 195

原创 Python Base64 与 Base64URL 详解:填充、UTF-8、严格解码与规范校验

用Python本地实验讲清Base64与Base64URL的字母表、等号填充、UTF-8字节和严格校验。包含7个标准向量、8个非法输入与可运行的规范解码器,区分解码成功、协议合规与消息认证。

2026-09-30 10:15:27 129

原创 AI 工具超时后还在写入?asyncio.to_thread 取消边界与 7 项验证

用 Python 的 7 项受控实验解释 asyncio.to_thread 超时后线程仍可能运行,区分取消、协作停止与业务提交,并说明 Event、I/O 超时和幂等的边界。

2026-09-29 10:20:59 233

原创 Python Webhook 验签失败?HMAC-SHA256、原始字节与 10 项本地实验

通过 10 项 Python 本地断言解释 HMAC-SHA256 验签输入:JSON 缩进、转义、键顺序与换行为什么会导致验签失败,以及认证、防重放和业务幂等的边界。

2026-09-29 10:17:29 139

原创 MD5 算法详解:哈希原理、标准向量、输入编码与安全边界

MD5 是哈希,不是加密。详解分组、填充与流式计算,用 Python 复现 7 个标准向量,排查换行和编码差异,并区分碰撞、反查与密码存储。

2026-09-28 10:19:24 194

原创 SM2 算法详解:椭圆曲线、签名 ID、密文格式与 OpenSSL 实战

拆解 SM2 椭圆曲线、公钥加密和签名机制,用 OpenSSL 实际验证回环、错误 ID 与改动正文,讲清 C1C3C2、ASN.1 DER 和签名编码的联调差异。

2026-09-28 10:17:06 211

原创 RSA 算法详解:从模幂原理到 OAEP 加密、PSS 签名与 Python 实验

从模幂与密钥生成解释 RSA,用 Python 实验验证 OAEP 的 190 字节边界、随机化和 PSS 验签,附错误参数、编码及公钥信任排查。

2026-09-28 10:13:30 172

原创 Claude Code 三系统排障教程:文本相同却哈希不同,如何用最小反例修复代码

覆盖 Windows、macOS、Linux 的 Claude Code 排障练习:用 LF 与 CRLF 的最小反例复现文本读取导致的哈希问题,再用独立断言检查修复,附安装入口、计划提示词和可运行 Python 代码。

2026-09-25 21:29:57 188

原创 Codex 三系统实用教程:用文件清单练习路径处理、SHA-256 与只读验收

覆盖 Windows、macOS、Linux 的 Codex CLI 实用教程。用只读文件检查器练习中文空格路径、原始字节、SHA-256 与换行统计,附可运行代码和 12 项本地测试的验证边界。

2026-09-25 21:27:38 184

原创 Claude Code 三系统实用教程:用契约测试完成开发、调试与会话恢复

覆盖 Claude Code 在 Windows、macOS、Linux 的安装更新与登录,利用可直接运行的契约测试讲解开发和调试,并区分会话续接、检查点和文件恢复。

2026-09-20 10:25:42 97

原创 Codex 三系统实战:从安装配置到 JSONL 数据校验与结果验收

以 JSONL 数据校验项目串起 Codex 在 Windows、macOS、Linux 的安装配置、项目指令、代码实现、退出码验收和会话续接,附可运行 Python 参考程序。

2026-09-20 10:20:10 137

原创 RAG 有引用仍可能答错:Python 校验来源、版本与原文摘录的 11 项实验

用 11 项离线 Python 检查核对 RAG 引用的来源、版本和原文摘录,并用真实引用搭配错误主张的反例说明:引用完整性通过不代表答案正确。

2026-09-19 10:19:55 130

原创 Python 爬虫中文乱码排查:严格解码、UTF-8 BOM 与 JSON 转义的 12 项实验

用 12 项离线实验区分响应字节、严格解码、UTF-8 BOM、JSON 转义和文件编码,说明为什么不报错及字节往返都不能证明中文正确。

2026-09-19 10:13:24 227

原创 Claude Code 实用教程:Windows、macOS、Linux 从安装到项目调试与验收

覆盖 Windows、macOS、Linux 的 Claude Code 安装、登录、CLAUDE.md、任务提示与排障,用 CSV 实战解释测试和代码差异如何验收;区分文档步骤与本地测试。

2026-09-17 10:23:23 285

原创 Codex 实用教程:Windows、macOS、Linux 安装配置到首个可验收项目

覆盖三系统的 Codex CLI 安装、登录、AGENTS.md、权限与审阅流程,用 CSV 校验练习和 8 个本地测试说明怎样验收 AI 编程结果。

2026-09-17 10:20:04 153

原创 AI 流式响应乱码、JSON 解析失败?Python SSE 增量解析的 16 组验证

用 Python data-only SSE 解析器说明字节、UTF-8、行、事件和 JSON 的边界。16 组离线检查覆盖 58 种切分位置,附完整代码、实际输出及未实现能力说明。

2026-09-16 10:55:20 176

原创 Python 爬虫下载成功却留下半个文件?临时文件、校验与原子替换实战

用 Python 标准库和 8 个本地 HTTP 场景,验证临时文件、长度与 SHA-256 校验、原子替换及失败后保留旧文件。附完整代码、实际输出和工程边界。

2026-09-16 10:52:25 40

原创 RAG 的 Top-K 为什么都是同一篇文档?Python 候选去重与证据覆盖的 10 项实验

用 10 项纯 Python 离线检查复现 RAG 重复候选挤占:权限与版本过滤、精确去重、每文档上限、字符预算和提前截断的影响。附完整代码,并说明字符不等于 token、局部规则通过不等于回答质量提升。

2026-09-15 10:57:06 180

原创 Python 爬虫时间差 8 小时或变成 1970?秒、毫秒与时区的 18 项验证

Python 与 JavaScript 跨语言核对秒、毫秒、UTC 与地区时区,用 18 项本地检查区分 1970 年异常、8 小时偏移、业务日边界和夏令时重复小时,附完整代码。

2026-09-15 10:55:04 147

原创 Ajax 实战:fetch 请求成功却显示旧数据?9 项实验讲清错误处理、取消与结果乱序

通过本机浏览器九项实验,区分 fetch 的 HTTP 状态、JSON 解析、业务和结构校验,复现响应体取消与搜索结果乱序,给出同时保护结果、错误和 loading 的版本检查及完整复现代码。

2026-09-14 10:39:38 161

原创 Python 爬虫翻页为何重复、漏数据?SQLite 复现 OFFSET、复合游标与快照的 8 项检查

用 8 项本地 SQLite 实验复现翻页时的重复与遗漏:OFFSET 位移、同分复合游标、排序字段变动和物化副本。附完整代码、真实输出及采集完整性边界。

2026-09-14 10:20:34 340

原创 AI 工具参数是合法 JSON,就能执行吗?Python JSON Schema 与业务校验的 17 项实验

用 Python 和 JSON Schema 拆开解析、结构、授权与预算校验。17 项确定性实验覆盖重复键、错误类型、未知工具、越权资源及超预算,并断言拒绝路径没有进入执行阶段。

2026-09-13 10:41:59 136

原创 Requests Session 已保存 Cookie,为何没有发送?10 项本地实验排查作用域与请求准备

用本地 HTTP 服务验证 Requests Cookie 的保存与发送:Path、Secure、Domain、过期、同名冲突及 PreparedRequest。附完整代码、10 项实际检查与排障边界。

2026-09-13 10:39:10 184

原创 AI Agent 工具重试为何重复写入?Python + SQLite 幂等键与结果回放实战

工具超时后重试,为什么会创建重复任务?用 Python + SQLite 把操作身份、参数与结果回执放进同一事务,验证重复调用、参数冲突、异常回滚、确认丢失和并发竞争,附完整代码与 8 项本地检查。

2026-09-12 10:17:06 106

原创 Python 爬虫 POST 变 GET?用 7 项本地验证排查 301、302、303、307、308

POST 发出后为什么变成 GET、正文为何消失?用仅访问 127.0.0.1 的临时服务,实测 301、302、303、307、308 的方法与正文变化,附完整 Python 代码、7 项验证、history 排查方法及重试边界。

2026-09-12 10:14:02 229

原创 JS 逆向接口 ID 变了?Python 与 Node.js 复现 JSON 大整数精度丢失

用 Node.js 与 Python 的固定样本复现 JSON 大整数舍入、Set 去重碰撞、BigInt 转换时机及前导零丢失。解释 context.source 的能力检测、parse_int=str 的影响和跨语言 ID 字段契约,附完整代码与实际输出。

2026-09-11 11:06:29 202

原创 Python 爬虫 gzip 解压报错:分清 response.content、raw 与字符编码,附 7 项验证

Requests 响应头仍写 gzip,response.content 却可能已经解压。用本地 HTTP 服务完成 7 项验证,区分 content、raw、iter_content、字符解码与 JSON 解析,并解释 Content-Length 差异和重复解压异常。

2026-09-11 11:04:29 191

原创 JS 逆向参数对不上?用 Python 和 Node.js 对齐 URL 编码、JSON 与 Unicode 字节

参数值相同,不代表参与计算的字节相同。用 Python 与 Node.js 对照 8 类差异:URL 空格编码、重复键、参数顺序、JSON 转义与空白、Unicode 和尾部换行,并验证虚构协议两端输出完全一致。

2026-09-08 14:15:36 216

原创 Python 爬虫 ETag 实战:正确处理 304 与本地缓存,附 5 个可运行验证

ETag 与正文必须成对保存。用 Python 标准库构建本地服务,验证首次 200、304 复用、内容更新、缓存丢失与无效 JSON 五个场景,解释条件请求如何接入采集任务,以及通用 HTTP 缓存尚需处理的边界。

2026-09-08 14:13:39 283

原创 RAG 知识库更新失败怎么办?Python + SQLite 实现版本切换、回滚与删除

用 Python 标准库和 SQLite 演示知识库版本更新:新分块写入失败时保留旧内容,成功后切换可见版本,拒绝过期任务并级联删除。附完整代码与本地测试结果,说明单库事务、并发和外部向量库之间的边界。

2026-09-07 10:56:35 176

原创 Python 爬虫 URL 去重实战:保留 SKU、重复参数与会话上下文,附 12 项测试

URL 去重不能直接删除查询参数。用一份可运行的 Python 离线示例,区分 SKU、页码、重复参数、空值与会话上下文,给出 10 项身份判断和 2 项非法输入检查,并解释规则接入真实队列的边界。

2026-09-07 10:54:14 238

原创 JS 逆向入门:用 DevTools 追踪请求参数生成链,附可运行本地实验

从原始输入、归一化、查询参数编码到 fetch 请求,用本地 HTML 实验追踪 JS 参数生成链。说明 XHR/fetch 断点、调用栈、重新触发与 source map 的用途,避免把 URL 编码误判为加密。

2026-09-06 17:40:46 177

原创 AI 爬虫为什么总把价格抓错?Python 证据校验与网页逆向排查实战

HTTP 200 和合法 JSON 不代表价格正确。本文从原始 HTML、渲染 DOM、网络响应追查价格来源,用可运行 Python 示例校验 SKU、价格角色、币种与证据,并覆盖 9 类错误候选,说明如何接入真实 AI 爬虫。

2026-09-06 17:24:20 284

原创 ai-cloudscraper 详解:安装后为何 import cloudscraper?实战与安全边界

本文基于 PyPI 元数据、项目源码与 Cloudflare 官方文档,详解 ai-cloudscraper 的安装名与导入名、Requests 兼容接口、本地可复现实验、版本与供应链检查、常见错误,以及授权测试中的安全边界。

2026-08-25 10:43:57 356

原创 Python 爬虫请求库怎么选:Requests、HTTPX、aiohttp、curl_cffi、Scrapy 与 Playwright 对比

本文从同步/异步、连接池、HTTP/2、JavaScript 渲染和工程化能力出发,对比 urllib.request、urllib3、Requests、HTTPX、aiohttp、curl_cffi、Scrapy 与 Playwright,并给出访问限制下的合规选型边界。

2026-08-25 10:41:18 354

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除