curl 测速信息混进网页正文?把文件与统计输出分开保存
下载的 HTML 或 JSON 尾部多了一行耗时、状态码,解析器随后报错,未必是机场传输了坏文件。可能是命令把正文和 curl 的统计信息一起写进了同一个输出。
这篇适合 Windows PowerShell 调用 curl.exe 的场景。只读取公开小页面,不复制登录页面、认证请求或订阅内容。

示意图:正文、响应头和统计各有去处,避免混写成同一个文件。
两种输出先分清
everything curl 的 write-out 章节说明,--write-out 默认把选定统计输出到标准输出。如果正文也留在标准输出,再把整个命令的输出重定向到一个文件,两者就容易混在一起。
更清楚的分工是:正文交给 --output,响应头交给 --dump-header,统计留在终端。不要把进度、错误和正文都合并到一份“网页文件”后再判断内容是否完整。
PowerShell 中的最小示例
先确认当前目录没有需要保留的同名文件;下面只是公开示例页面的命令,不是本站测速结果:
curl.exe -q --silent --show-error --connect-timeout 10 --max-time 20 --dump-header curl-check-headers.txt --output curl-check-body.html --write-out 'http_code=%{http_code}\ntime_total=%{time_total}\n' https://example.com/
$LASTEXITCODE
这里没有在命令尾部再写 > curl-check-body.html。响应正文由 curl 直接落盘,统计显示在终端;紧接着读取 $LASTEXITCODE,避免先运行其他外部程序改变它。
单引号里的 \n 由 curl 格式处理,并非 PowerShell 的换行语法。此写法用于 PowerShell;不要不加检查地复制到批处理文件,Windows 不同命令环境对百分号的处理可能不同。
按三份内容验收
| 位置 | 要检查的内容 |
|---|---|
| curl-check-body.html | 是否为所需正文,有无统计尾行 |
| curl-check-headers.txt | 实际状态、类型和其他响应信息 |
| 终端统计及退出码 | 本轮传输是否结束、总耗时是多少 |
curl 官方手册定义了 --output 与 --write-out 的输出分工。文件后缀不决定真实格式;如果返回的是错误页、跳转提示或其他类型,仍要按真实响应处理。
已经混入的文件怎么处理
不要简单删掉最后一行就宣布修好了,因为正文自己也可能有相似文本。先回看原命令,使用新文件名按分离方式重新请求一个有权限的小资源,然后确认新文件能够正常读取。
若重新请求仍有问题,再查状态、编码或传输错误;不要同时关闭证书验证、更换节点和改字符编码。日志或响应头中可能含 Cookie,分享前只保留必要字段并脱敏。
怎样用于机场试用
一次记录应能关联同一目标、同一正文文件、同一统计结果和退出码。耗时更短也要在文件正确的前提下比较。整理机场推荐证据时,保留输出方式,避免让下一位读者把“统计文本污染正文”误认为线路故障。
来源与核验日期
官方资料核验日期:2026-10-09。操作示例与记录表供读者自行核对,不代表本站对某家机场的实测结论。
评论