2017-06-22 70 views
1

我有json。这是考虑有关商家的信息完全id,链接。但是这个链接去重定向。就像这样:从重定向获取链接

http:\/\/partners.webmasterplan.com\/click.asp?ref=593856&site=5051&type=banner&tnb=1

我需要查看所有链接和链接,这将是最后的重定向我应该保存的链。什么是更好的方式来做到这一点?技术,还是...? 你能给我一些建议吗?谢谢!

我发现代码可以帮助我吗?

<?php 
$url="http://libero-news.it.feedsportal.com/c/34068/f/618095/s/2e34796f/l/0L0Sliberoquotidiano0Bit0Cnews0C12735670CI0Esaggi0Eper0Ele0Eriforme0Ecostituzionali0EChiaccherano0Ee0Eascoltano0Bhtml/story01.htm"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$a = curl_exec($ch); 
print_r($a);echo"<br>"; 
if(preg_match('#Location: (.*)#', $a, $r)){ 
$l = trim($r[1]); 
echo $l; 
}else echo "not working"; 
?> 
+0

[我如何使用cURL获取目标网址?](https://stackoverflow.com/questions/1439040/how-can-i-get-the-destination-url-using-curl) – CBroe

回答

0

此页面不发送Location标题。为了确保这一点,要知道这个头文件总是伴随着一个HTTP重定向代码(3xx)。在这里你有一个代码200.

使用JavaScript禁用的浏览器我还没有被重定向。这强烈暗示了JavaScript重定向。不幸的是,没有简单的方法来检测,因为页面的JS代码被缩小了,并且需要大量的工作才能对PHP脚本进行分析。