# URL 编解码:我终于搞懂了为什么网址里会有 %20 和 %E4%BD%A0
> 有次对接第三方接口,对方要求把参数放到 URL 路径里,比如 `/api/user/张三`。我直接拼上去,结果报错 404。排查了半天才发现,“张三”这两个中文字符没有编码,浏览器自动转成了乱七八糟的东西。后...
阅读全文
技术博客
分享开发技巧、工具使用教程与行业动态
> 以前写正则,全靠网上抄例子。匹配邮箱抄一个,匹配手机号抄一个,有时候抄过来不对,还得一行行调试。后来我做了这个正则表达式测试器——输入正则和文本,实时高亮匹配结果,还能看每个匹配的位置。这篇文章分享正则的基础语法、工具的用法、以及我踩过的那些坑。**本文工具由 VidDown 提供** ...
阅读全文
> 做网站分析的都知道,访问日志里有一长串看起来像乱码的东西,比如 `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...`。这就是 User-Agent(用户代理)。曾经我需要统计网站访客用的什么浏览器,手动肉眼分辨这些字...
阅读全文
> 有次部署一个新服务,启动后发现怎么也连不上。排查了防火墙、安全组、监听地址,最后用端口扫描器一测,发现端口根本没开——原来是进程崩溃了,只是进程表里还留着僵尸。从那以后,每次部署完服务,我都会顺手扫一下端口,确认预期的端口确实对外开放了。这篇文章把端口扫描器的原理、用法、以及我踩过的坑分享出来。...
阅读全文
> 前后端分离项目里,JWT 是最常见的身份认证方案。有一次前端同事说“接口返回 401,令牌无效”,我让他把 JWT 字符串发给我。我打开在线工具解码一看,过期时间戳是上周的,原来是 token 没刷新。后来我干脆在 VidDown 上写了一个 JWT 解码与验证工具,支持本地解码、自动转换时间戳...
阅读全文
> 有次同事发来一个 YAML 文件,里面有 2000 多行,没有缩进,各种对齐错误,用 Ansible 执行时报错“expected , but found ''”。我帮他格式化后才发现,原来是把列表写成了字典,少了一个短横线。后来我干脆写了个 YAML/XML 格式化校验工具,放到 VidDow...
阅读全文
> 之前写爬虫需要每天凌晨同步数据,我手写了一个 Cron 表达式 `0 0 * * *`,结果它每天在午夜 0 点准时执行。同事问我是怎么算出来的,我说“背下来的”。后来换了一个需求:每 5 分钟执行一次,我写了 `*/5 * * * *` 但总是记混分钟和小时的位置。直到我做了这个 Cron 表...
阅读全文
> 上个月公司官网突然有用户反馈“打不开”,但我在办公室访问一切正常。折腾了半小时才发现,是 CDN 节点在部分地区回源失败,返回了 502。如果当时有一个快速检测 HTTP 状态的工具,一分钟就能定位问题。后来我写了一个 HTTP 状态码检测工具,集成到 VidDown 里。这篇文章把工具的使用方...
阅读全文
> 从去年开始业余时间开发 VidDown,最初只是为了方便自己下载抖音视频和格式化 JSON。后来功能越加越多,干脆做成一个公开的工具站。这篇文章不打算吹嘘什么,就是想诚实地告诉你:VidDown 到底能做什么、技术上是如何保证隐私安全的、以及你为什么要试试它。## 一、VidDown 是...
阅读全文
写完 Markdown 文档后,有时需要发给客户或打印,PDF 格式是最稳妥的选择。VidDown 的 Markdown ↔ PDF 工具可以一键将 Markdown 渲染为 A4 纸张的 PDF 文件,也支持从 PDF 提取文本并转为 Markdown(即将上线,当前版主要实现 MD → PDF)...
阅读全文