#curl
共 39 篇文章
curl 设置 --retry 后,Connection was reset 仍直接结束下载
curl 的 --retry 只重试特定失败。接收连接重置后未重试时,核对版本与错误范围,在允许重复的只读下载中使用有界重试,并处理不完整文件。
curl 加上 --path-as-is 后仍未发送 URL 的 #fragment
curl 的 URL 片段不会进入正常 HTTP 请求。区分 path-as-is 的路径归并控制、%23 数据编码,以及本机测试中 request-target 的原始目标覆盖。
curl 请求含方括号的 URL 时报 bad range
curl 请求中的 filter[name]、args[0] 可能被解析成 URL 范围。保留 shell 引号并使用 --globoff,或编码查询参数中的括号;同时区分参数名与值的编码,以及 -g 和 -G 的作用。
curl 下载得到 301 HTML 页面:先检查重定向与最终内容
curl 下载保存了 301 HTML 时,用受控重定向查看最终地址和响应;若跳转本来指向登录或说明页,需找到真实下载入口,再验证文件内容。
curl 加上 --write-out 后,JSON 解析报 Extra data
将curl状态文本从响应正文中分离,用stderr输出切换保持JSON管道纯净,并分别核对传输、解析与HTTP状态。
Bash 中 curl 请求突然进入后台,URL 后半段参数丢失
Bash 中未加引号的 URL 含有 & 时,会把 curl 放到后台并截断后续查询参数。用正确引号传递完整地址,区分参数编码,并在前台核对退出状态和实际请求。
Bash 中 curl 管道失败后继续执行,脚本却返回成功
Bash 中 curl 接 jq 后,请求失败可能被下游或最后一条命令的成功状态掩盖。用 pipefail 和显式状态累计,让多个请求继续执行,并在末尾统一返回失败;同时区分 curl 与 jq 的退出码。
curl -X HEAD 收到响应头后仍不退出
curl -X HEAD 只修改请求方法文字,可能仍等待响应正文。使用 --head 同时选择 HEAD 方法与接收行为,并区分连接超时和服务端拒绝 HEAD。
Nginx 部署 PFX 后 curl 报 60:检查是否漏了中间证书
浏览器正常而 curl 提示 unable to get local issuer certificate,先检查线上发送的链,再按叶证书、中间证书顺序组合,保留客户端证书校验。
curl 下载得到 dl.pl 文件名:让 Content-Disposition 决定名称
浏览器下载名正常,curl -O 却采用接口名称;核对响应的 filename 字段,用 -OJ 或明确指定 -o 名称。
curl 已用 SOCKS5 代理,目标域名仍在本机解析失败
区分SOCKS5连接与目标域名解析位置,使用socks5h或socks5-hostname让代理解析目标,并保留TLS验证和代理策略。
curl 加了 --create-dirs,保存响应头仍报 Failed to open
curl 早于 8.11.0 时,--create-dirs 不会为响应头文件创建目录。区分本地写入失败、输出路径与版本边界,并给出兼容旧版本的目录准备方法。


