Maison > Article > développement back-end > 如何获取一个网址的真实地址?
如:http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB04MQzdgG69RGcaJPb63yl1mhX3LeBaO%2FOtwy7R8Qcl0UjI6%2FqP8Sg%2Fr0KKB%2F8j9kgdmwzqD5GpF5e%2FOaK7gEC99Q3u9Kesb3rDlDmTYOYaI5mq7vcX9zp6SLHe68sHep6ixQ%2F8tmcFXqP%2Fg9Uw5M1TkKjrIraMnDk%3D&spm=2014.12060692.1.0
这个地址打开后浏览器上显示的真实地址是
http://shop33963430.taobao.com/shop/view_shop.htm?user_number_id=22902307&ali_trackid=2:mm_123456_0_0:1358301023_4k3_1682494700&spm=2014.12060692.1.0
如何用php获得这个真实地址呢(模拟访问获取也可以的)
基本上灰常难,你看下边的url
http://www.7di.net/index-main-73b11748d50427dde7044694c7cb681e8133b89dee721550-4.shtml
其实他的真实地址是
http://www.7di.net/index.php?w=index&m=main&a={'a':'aa'}&p=4
73b11748d50427dde7044694c7cb681e8133b89dee721550?一串?容我用了自定?的加密方法加密?容,然後??,??之後再解密?原
基本上灰常难,你看下边的url
http://www.7di.net/index-main-73b11748d50427dde7044694c7cb681e8133b89dee721550-4.shtml
其实他的真实地址是
http://www.7di.net/index.php?w=index&m=main&a={'a':'aa'}&p=4
73b117……
能不能用php模拟浏览下来获取呢
不能说真实地址,而是跳转后的地址。一路跟踪好了。
不能说真实地址,而是跳转后的地址。一路跟踪好了。
如何用php跟踪呢
我看了他的代码,貌似是用js将上面的代码解密,然后跳转的,我贴下这个代码,麻烦帮我看下他是啥原理呢,用php如何实现的
<script type='text/javascript'>function htmlspecialchars(str){ str = str.replace(/</g, '<'); str = str.replace(/>/g, '>'); str = str.replace(/"/g, '"'); str = str.replace(/'/g, '''); return str;}function bol(){ var inf = (top.location!=self.location); var qs = location.search.split("?")[location.search.split("?").length-1].split("&"); qso = {}; for(var i=0;i<qs.length;i++){ if(qs[i]=="")continue; var tmpa = qs[i].split("="); qso[tmpa[0]] = tmpa[1]?tmpa[1]:""; } var tu = unescape(qso.tu); if(htmlspecialchars(tu).length != tu.length){ exit; } if(inf){ var oi = document.createElement("iframe"); oi.id="iobj" oi.border=0; oi.frameBorder=0; oi.style.height="1px" oi.style.width="1px" document.body.appendChild(oi); var cd = oi.contentWindow.document; cd.write('<ht'+'ml><bo'+'dy style="margin:0px;padding:0px"></scr'+'ipt><scr'+'ipt src="http://js.tongji.linezing.com/1023331/tongji.js" type="text/javascript"></scr'+'ipt><noscr'+'ipt><a href="http://www.linezing.com"><img src="http://img.tongji.linezing.com/1023331/tongji.gif"/ alt="如何获取一个网址的真实地址?" ></a></noscr'+'ipt></bo'+'dy></ht'+'ml>'); window.setTimeout(function(){cd.close();if(qso.tu)location.href = unescape(qso.tu);},1000); }else{ if(qso.co&&qso.co!=""){ document.cookie="tk_trace="+(qso.co)+";path=/;domain=.taobao.com"; } if(qso.tu && (qso.tu.indexOf("http%3A%2F%2Fs.click.taobao.com%2F")===0 || qso.tu.indexOf("http%3A%2F%2Fs.click.alimama.com%2F")===0 || qso.tu.indexOf("http%3A%2F%2Fitem8.taobao.com%2F")===0 || qso.tu.indexOf("http%3A%2F%2Fshop8.taobao.com%2F")===0)){ if(!window.attachEvent){ document.write('<input style="max-width:90%" type="button" id="exe" value="" onclick="window.location=\''+unescape(qso.tu)+'\'">'); document.getElementById('exe').click(); }else{ document.write('<a style="display:none" href="'+unescape(qso.tu)+'" id="exe"></a>'); document.getElementById('exe').click(); } } }}//end of bol()bol();</script>
用fsockopen来获取网页源码,一般弄到header信息,分析Location也就足够了。
curl也可以。
用fsockopen来获取网页源码,一般弄到header信息,分析Location也就足够了。
curl也可以。
location不中,如:http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB04MQzdgG69RGcaJPb63yl1mhX3LeBaO%2FOtwy7R8Qcl0UjI6%2FqP8Sg%2Fr0KKB%2F8j9kgdmwzqD5GpF5e%2FOaFn7VYVKYkVbYTomVFsQ1ga22LEn2hsw9HDbPgkjHY3dQ3EB1dtO8wMdh%2FXsstKK75B31PgeqT%2BOyRfu0Y%3D&spm=2014.12060692.1.0
获取的地址:http://s.click.taobao.com/t_js?tu=http%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3DzGU34CA7K%252BPkqB04MQzdgG69RGcaJPb63yl1mhX3LeBaO%252FOtwy7R8Qcl0UjI6%252FqP8Sg%252Fr0KKB%252F8j9kgdmwzqD5GpF5e%252FOaFn7VYVKYkVbYTomVFsQ1ga22LEn2hsw9HDbPgkjHY3dQ3EB1dtO8wMdh%252FXsstKK75B31PgeqT%252BOyRfu0Y%253D%26spm%3D2014.12060692.1.0%26ref%3D%26et%3DjFBB1tzmRn8vGg%253D%253D
然后就没了,或者如何往下分析呢
获取后继续获取。淘宝的那个好像要跳4-5次。
获取后继续获取。淘宝的那个好像要跳4-5次。
继续获取获取不到了
注意cookie问题。一步一步进去,最终还是可以得到地址的。
有一?思路可行,不知你能力?不??
把你要跟?的url放入iframe???,延?一定的??之後用js?取iframe??在的url值,通?ajax把?取到的url提交?php
有一?思路可行,不知你能力?不??
把你要跟?的url放入iframe???,延?一定的??之後用js?取iframe??在的url值,通?ajax把?取到的url提交?php
不太可行因为要通过php处理的
引用 11 楼 sibang 的回复:有一?思路可行,不知你能力?不??
把你要跟?的url放入iframe???,延?一定的??之後用js?取iframe??在的url值,通?ajax把?取到的url提交?php
不太可行因为要通过php处理的 通?ajax把?取到的url提交?php
注意?句?
好东西
学习了
应该不能应该不能
学习一下, 正想知道
您好,问题解决了没有?我有别的解决办法,就是有点慢……