我知道在php脚本中:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
将遵循重定向。是否有一种方法跟随重定向命令行cURL?
使用location头标志:
# EYZ0
我也遇到过类似的问题。我在这里发布我的解决方案,因为我相信它可能会帮助到一位评论者。
对我来说,障碍是页面需要登录,然后通过javascript给我一个新的URL。以下是我必须做的:
curl -c cookiejar -g -O -J -L -F "j_username=username" -F "j_password=password" <URL>
j_username
j_password
curl -c cookiejar -g -O -J -L -F "j_username=username" -F "j_password=password" <NEWURL>
如前所述,遵循重定向你可以使用标志-L或--location:
-L
--location
curl -L http://www.example.com
但是,如果你想限制重定向的数量,添加参数--max-redirs
--max-redirs
--max-redirs <num> 设置允许重定向跟踪的最大数量。如果使用-L, --location,则此选项 可以用来防止curl跟随“荒谬”的重定向。缺省情况下,限制 设置为50重定向。将此选项设置为-1以使其无限制。 如果多次使用此选项,则最后一个选项将被使用
--max-redirs <num>
设置允许重定向跟踪的最大数量。如果使用-L, --location,则此选项 可以用来防止curl跟随“荒谬”的重定向。缺省情况下,限制 设置为50重定向。将此选项设置为-1以使其无限制。 如果多次使用此选项,则最后一个选项将被使用