2012-03-26 65 views
1

我卷曲功能无法跟随Facebook上的外部链接重定向,l.php的重定向和我不知道什么是错的......卷曲不能按照重定向

这里是我工作的代码,我评论,我试过行...和实例链接(http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGvhFyNLK66A%26feature%3Dyoutu.be&h=xAQFD_3svAQFKxF5YrtqNQ5cL3lIQxo0uaC9PoB7qAvG7Yw&enc=AZPxNZ8P5q54FREC37UC_MP02pwh2DOmsI5bbFkoQm5VUPUlYeNzQASjarRjhTtcedRkmM3mDjK7J_r_P5pRpYhL

function connect($u) { 
$ch= curl_init(); 
curl_setopt($ch, CURLOPT_URL, $u); 
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
curl_setopt($ch, CURLOPT_HEADER, true); 
//curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); 
//curl_setopt($ch, CURLOPT_REFERER, 'spie'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
//curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
//curl_setopt($ch, CURLOPT_VERBOSE, true); 
//curl_setopt($ch, CURLOPT_MAXREDIRS, 10); 
$source=curl_exec($ch); 
curl_close($ch); 
return $source; 
} 

谢谢你..

+0

任何错误信息? http://www.php.net/manual/fr/function.curl-error.php – Tchoupi 2012-03-26 03:16:03

+0

没有,没什么.... – 2012-03-27 16:57:16

回答

1

我首先认为这是一个重定向问题与卷曲(安全模式实例启用)。但它实际上来自Facebook重定向器的工作方式。

没有Location:头,所以curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);不会帮你吧。

Facebook的链接页面重定向实际上你使用Javascript:

<script type="text/javascript">document.location.replace("http:\/\/www.youtube.com\/watch?v=GvhFyNLK66A&feature=youtu.be");</script> 

卷曲不能分析网页的内容也没有那么这是exepcted行为执行的JavaScript。如果你仍然想这样做,你需要解析页面的内容,从javascript中获取URL,并向这个URL发出一个新的cURL请求。

+0

太感谢你了,我会为解析的l.php内容做:) – 2012-03-27 17:09:09