“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Charles
Charles — 一个跨平台HTTP抓包调试工具,帮你轻松看清网络请求的来龙去脉。
平时写代码、调接口、排查线上问题,最怕的就是“明明代码没毛病,但数据就是不对”。服务端说“我发了”,客户端说“我没收到”,两边扯皮半天,最后发现是某个中间环节的请求被篡改或丢失了。这时候你就需要 Charles——一个能让你“偷看”所有网络流量的抓包工具。
Charles 本质上是一个 HTTP/HTTPS 代理服务器。你把它装在电脑上,然后把手机的代理指向它,所有进出设备的网络请求都会经过 Charles 过一遍。你能看到请求的 URL、Headers、Body,甚至连 HTTPS 加密后的内容也能解密查看。它不只是抓包,还能断点修改请求或响应、模拟慢网速、重发请求测试,甚至把线上接口的响应映射到本地文件来做 Mock 数据。
下载
Charles 有 Windows、macOS 和 Linux 三个版本,全部从官网下载最安全:
官网下载页面会自动识别你的操作系统,推荐对应的安装包。如果你需要旧版本,页面底部也有历史版本链接。注意:Charles 是收费软件(约 50 美元),但提供 30 天全功能试用。试用期结束后每次启动会强制等待 10 秒,但不影响功能。如果你只是偶尔用一下,这个“等待”完全可以接受。
安装方法
macOS
下载 .dmg 文件,双击打开,把 Charles 图标拖进 Applications 文件夹就行。首次打开会提示“无法验证开发者”,去系统设置 - 隐私与安全性里点“仍要打开”即可。
Windows
下载 .exe 安装包,一路 Next 安装完。注意安装过程中有个“Install Certificate”的选项,默认勾选就行,这会在系统里安装 Charles 的根证书,后面抓 HTTPS 包会用到。
Linux
官网提供的是 .tar.gz 压缩包,解压后运行 charles/bin/charles 脚本。或者你也可以用 sudo apt install charles-proxy(Ubuntu 用户),但版本可能比较老。
基础使用教程
1. 抓取电脑上的 HTTP/HTTPS 请求
安装完后直接打开 Charles,默认就会开启代理(端口 8888)。你会看到一个分栏窗口:左侧是请求列表,右侧分为上下两部分,上面是请求详情,下面是响应详情。
随便打开一个网页(比如百度),左侧列表就会开始刷刷刷地出现请求。这就是 Charles 抓到的所有网络流量。你可以点击某个请求,看它的 Headers、Cookies、Params,以及服务器返回的状态码和 Body。
2. 抓取手机上的请求(最常用)
这是 Charles 的核心场景——调试手机 App 的接口。
步骤:
- 电脑上打开 Charles,点击菜单栏
Proxy->Proxy Settings,确保 HTTP Proxy 端口是 8888,并勾选“Enable transparent HTTP proxying”。 - 查看电脑的局域网 IP(macOS 在系统偏好设置里看,Windows 用
ipconfig命令)。 - 手机连接同一个 WiFi,进入 WiFi 设置,把代理设为“手动”,填入电脑的 IP 和端口 8888。
- 此时手机上任何 App 发起的网络请求都会出现在 Charles 里。首次连接时 Charles 会弹窗询问“是否允许该设备连接”,点击 Allow。
3. 抓取 HTTPS 请求
默认 Charles 只能抓 HTTP,HTTPS 会显示为乱码。要抓 HTTPS,需要安装 Charles 的 SSL 根证书。
电脑端:
- 点击
Help->SSL Proxying->Install Charles Root Certificate,按提示安装到系统信任的证书列表。macOS 需要额外在钥匙串里双击证书,展开“信任”并选择“始终信任”。
手机端(以 iOS 为例):
- 手机设置好代理后,用 Safari 打开
http://chls.pro/ssl,会自动下载证书描述文件。 - 去设置 -> 通用 -> 描述文件,安装该证书。
- 再去设置 -> 通用 -> 关于本机 -> 证书信任设置,打开对 Charles 证书的开关。
Android 类似,但不同版本路径略有差异。装完证书后,在 Charles 里右键某个 HTTPS 请求,选择 SSL Proxying -> Enable SSL Proxying for this host,之后就能看到明文内容了。
4. 过滤请求
请求一多,列表里全是图片、CSS 等静态资源,找接口很费劲。Charles 提供了多种过滤方式:
- 底部 Filter 输入框:直接输入关键词,比如
api,只会显示包含该词的请求。 - 左侧 Structure 视图:按域名分组,点击某个域名只看它的请求。
- 右键屏蔽:在某个请求上右键 ->
Focus,只关注这个域名;或者右键 ->Block,直接屏蔽掉不关心的域名。
进阶技巧
1. Map Local — 把线上接口换成本地文件
这是 Mock 数据的神器。比如你正在开发一个页面,接口还没写好,或者你想测试某个特定返回值的 UI 表现。
操作:右键请求 -> Map Local -> 选择一个本地 JSON 或文本文件。之后 Charles 只要抓到匹配这个 URL 的请求,就会直接返回你指定的本地文件内容,完全不发请求到服务器。修改本地文件后,刷新页面就能看到新效果,非常适合前端调试。
2. Map Remote — 重定向请求到另一个服务器
比如你想把线上的 api.example.com 指向测试环境的 test-api.example.com。右键请求 -> Map Remote,填上目标 URL 即可。这样你本地代码里写的接口地址不用改,Charles 会自动帮你转发。
3. Breakpoints — 断点修改请求或响应
在请求上右键 -> Breakpoints,当 Charles 捕获到这个请求时,会弹出一个编辑窗口,你可以手动修改请求的 Headers、Body,或者修改服务器返回的响应内容。比如你想测试 App 对某个错误码的处理,就可以在响应里把 200 改成 500。改完后点击“Execute”继续传输。
4. Throttle — 模拟慢网速
在 Proxy -> Throttle Settings 里,可以设置带宽、延迟、丢包率。预设了 3G、4G、DSL 等场景,也可以自定义。调试弱网环境下的加载体验或超时逻辑时特别有用。
5. Rewrite — 自动批量修改请求
如果你有大量请求需要统一修改(比如把所有请求的 User-Agent 改成某个特定值),用 Rewrite 功能比手动改快得多。在 Tools -> Rewrite 里添加规则,可以匹配 URL 模式,然后自动修改 Headers、Body 或 URL 参数。
6. Auto Save — 自动保存会话
Charles 默认会把所有请求记录在内存里,关闭软件就没了。如果你需要长期记录调试过程,可以在 Preferences -> Recording 里开启自动保存,指定保存路径和文件大小限制。这样即使 Charles 崩溃,之前的请求记录也不会丢。
一些踩坑提醒
- 手机连不上 Charles:检查防火墙是否拦截了 8888 端口,或者手机和电脑是否在同一个网段(比如公司网络有 VLAN 隔离)。
- HTTPS 抓不到:大概率是证书没装好。iOS 用户记得在“关于本机”里手动开启证书信任,Android 7.0 以上系统默认不信任用户证书,需要把 App 配置为
network_security_config.xml信任用户证书,或者 root 后把证书移到系统目录。 - Charles 太卡:如果请求量巨大(比如视频流),可以关闭 Charles 的“Recording”功能,只抓你关注的特定域名。
Charles 是我用过最顺手的抓包工具,没有之一。它不像 Wireshark 那样底层,也不像 Fiddler 那样 Windows 独占,跨平台、界面简洁、功能恰到好处。无论你是前端、后端、App 开发者,还是只想搞清楚某个 App 到底在偷偷上传什么数据,Charles 都能帮上大忙。
最后说一句:别拿它干坏事,抓包别人的 App 接口属于逆向工程,法律风险自担。用在正经调试上,它就是你的网络调试瑞士军刀。