curl编译重定向页面列表

Vlu*_*boy 1 bash curl

假设我有一个bash脚本,该脚本通过一个文件,该文件包含所有已重定向的旧URL列表.

curl --location http://destination.com将通过重定向来处理页面.但是,我对内容不感兴趣,而是对重定向点的位置感兴趣,以便我可以更新我的记录.

curl的命令行选项是什么,用于输出URL的新位置?

cho*_*own 9

你想要省略--location/-L旗帜,并使用-w,检查redirect_url变量. curl -w "%{redirect_url}" http://someurl.com应该这样做.

用于脚本:

REDIRECT=`curl -w "%{redirect_url}" http://someurl.com`
echo "http://someurl.com redirects to: ${REDIRECT}"
Run Code Online (Sandbox Code Playgroud)

curl手册页:

-w, --write-out <format>
Run Code Online (Sandbox Code Playgroud)

完成传输后,在stdout上显示curl显示信息.格式是一个字符串,可能包含混有任意数量变量的纯文本.格式可以指定为文字"字符串",或者您可以使用curl从带有"@filename"的文件中读取格式,并告诉curl从您编写"@ - "的stdin读取格式.

输出格式中存在的变量将由curl认为合适的值或文本替换,如下所述.所有变量都指定为%{variable_name}并输出正常%,您只需将它们写为%%.您可以使用\n,带\ r的回车符和带\ t的制表符空格输出换行符.

注意:%-symbol是win32环境中的特殊符号,使用此选项时,所有出现的%必须加倍.

可用的变量是:

...
redirect_url如果在没有-L的情况下发出HTTP请求以跟踪重定向,则此变量将显示重定向 带您到达的实际URL .(在7.18.2中添加)
...