2 tieyu2014 tieyu2014 于 2016.03.16 13:28 提问

php 如何获取短链接跳转后的真实地址?

最后在做一个项目,需要获取[手机淘宝分享]的短链接 跳转后的最终URL,需要从这个URL中拿到商品的ID。

在网上也淘了不少办法,但不成功。

短链接:http://b.mashort.cn/h.OhrnJ?cv=AADRopTu&sm=eeb5d6

希望有位能帮我解答一下。谢谢

5个回答

caozhy
caozhy   Ds   Rxr 2016.03.16 19:18
tieyu2014
tieyu2014   2016.03.16 22:03
     $url='http://b.mashort.cn/h.OhrnJ?cv=AADRopTu&sm=eeb5d6';
function getrealurl($url){
$header = get_headers($url,1);
if (strpos($header[0],'301') || strpos($header[0],'302')) {
    if(is_array($header['Location'])) {
        return $header['Location'][count($header['Location'])-1];
    }else{
        return $header['Location'];
    }
}else {
    return $url;
}
}

echo getrealurl($url);
exit;

没有成功,还是一样的。没那么简单,网上淘了很多办法试了,都不成功

tieyu2014
tieyu2014   2016.03.16 22:04
a5740456
a5740456   2016.03.20 09:12

每个短链接网站的计算方式不一样,你可以自己写一个加密函数,把url加密成一个字符串,然后在写一个解密的函数,把这个地址转回来的,要么你可以根据编号的方式存数据库,每次短链接进来的时候你去查询一下数据库,得到真实的url链接然后通过header跳转即可

tieyu2014
tieyu2014 感谢你的回答,不是我要做短链接,是我要得到淘宝短链接跳转后的真实地址,那这个跳转了很多次,难获取得的到,不知道用什么办法获取
一年多之前 回复
flight9
flight9   2016.11.22 12:55

mashort的短连接不是用301,302的方式转跳的,是用js转跳的,前端我也不熟,只能帮你到这里

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!