微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cURL没有跟随Location:标头

如何解决cURL没有跟随Location:标头

我正在尝试使用Rapidshare的API下载文件。为此,我需要两次请求其“ 0”子例程。一次获得适当的下载服务器以使用,其次在第一个请求给我的服务器上再次请求下载。第二个调用是发送文件文件。 在第一次调用时,它返回带有a1ѭ字段的标头,我需要遵循此位置。所以我这样做:
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,\"http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=download&fileid=$file_id&filename=$file_name&try=1&login={$account[\'username\']}&password={$account[\'password\']}\");
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$resp = curl_exec($ch);
curl_close($ch);
不幸的是,它似乎没有跟随位置标头,因为在
$resp
中没有返回任何内容。如果将URL放在浏览器中,则该URL将成功跟随location标头并为我提供API调用输出,因此PHP或cURL一定有问题。 谁能冒险猜出它可能是什么?我已经摆弄了30分钟,却一无所知。 谢谢你的帮助!     

解决方法

将CURLOPT_HEADER更改为true。
curl_setopt($ch,CURLOPT_HEADER,1);
如果我已阅读正确的文档,则将返回包含“ Location”指令的所请求页面的消息,并且通过将CURLOPT_FOLLOWLOCATION设置为true,它应遵循该重定向,并且通过位置进行任何其他重定向指示。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。