2013-08-27 101 views
301

重定向我知道,在PHP脚本:有没有办法按照命令行卷曲

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

将遵循重定向。有没有办法使用命令行cURL跟踪重定向?

+9

我一直在寻找解决PHP和落在这里。谢谢。 – dchayka

回答

515

使用位置头标志:

curl -L <URL>

+1

这不适用于通过Google进行身份验证以访问电子表格。 :/ – fatuhoku

+7

'man curl':“使用身份验证时,curl仅将其凭据发送给初始主机。<...>另请参阅--location-trusted关于如何更改此设置。” – hudolejev

+11

@posit bit.ly正在检查用户代理,但您可以用'--user-agent'或'-A'标志来欺骗它 –

18

我也有类似的问题。我在这里发布我的解决方案,因为我相信它可以帮助评论者之一。

对我来说,障碍是页面需要登录,然后通过JavaScript给我一个新的URL。这是我必须做的:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>

注意,为j_username和为j_password是为我的网站的登录表单字段的名称。你将不得不打开网页的来源,看看你的情况下,用户名字段的“名称”和密码字段的“名称”。 之后,我去了一个HTML文件,其中嵌入了新的URL。解析了这一点后,只是用新的网址重新提交:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>

相关问题