如何让cURL显示301这类重定向响应的响应体?
查看cURL重定向响应体的方法
要查看301这类重定向响应的响应体,核心是阻止cURL自动跟随重定向,或者捕获所有请求/响应细节,具体方法如下:
方法1:禁止自动重定向,直接获取原响应
默认情况下cURL会自动跟随3xx重定向并忽略原响应体,使用--max-redirs 0参数可以禁止任何重定向跳转,让cURL返回完整的301响应内容:
- 同时查看响应头和响应体:
curl -i --max-redirs 0 https://your-target-url.com
-i(或--include)参数会让输出包含响应头,方便确认状态码和重定向目标。
- 仅查看响应体(隐藏进度条):
curl -s --max-redirs 0 https://your-target-url.com
-s(静默模式)会屏蔽cURL的进度提示,只输出响应体内容。
方法2:捕获所有重定向步骤的响应细节
如果需要跟随重定向,同时查看每一步(包括301)的响应体,可以用--trace-ascii或--trace参数记录完整的请求/响应流:
curl -v --trace-ascii redirect-trace.log https://your-target-url.com
执行后打开redirect-trace.log文件,里面会包含每个重定向步骤的完整响应数据,包括响应头和响应体。
补充说明
cURL默认忽略重定向响应体是因为HTTP规范中3xx响应的响应体属于可选内容,但部分服务器会返回自定义提示内容。通过上述两种方法,就能获取到这些原本被忽略的响应体。
内容的提问来源于stack exchange,提问作者Alexander Ites
相关产品推荐
相关产品推荐

