PHP-如何采集这个url跳转内容呢

发布于 12-11 09:46 字数 122 浏览 1282 评论 3

如何采集这个url跳转内容呢

http://s.click.taobao.com/t_9?p=mm_0_0_0&l=http%3A%2F%2F3c.tmall.com

php asp 都可以

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晚风撩人2017-09-17 15:32:58

<?php
$url = "http://s.click.taobao.com/t_9?p=mm_0_0_0&l=http%3A%2F%2F3c.tmall.com";

// 创建一个cURL资源
$ch = curl_init();

// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// 第一次获取
curl_exec($ch);

// redirect_url
if(!curl_errno($ch)) {
$info = curl_getinfo($ch);
// 获取跳转的url
if(isset($info['redirect_url'])) {
$querys = array();
parse_str(parse_url($info['redirect_url'], PHP_URL_QUERY), $querys);
if(isset($querys['tu'])) {
curl_setopt($ch, CURLOPT_URL, $querys['tu']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 允许跳转
curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
curl_setopt($ch, CURLOPT_REFERER, $info['redirect_url']);
$result = curl_exec($ch);
print_r($result); // 这里输出的就是最终结果
}

}
}

// 关闭cURL资源,并且释放系统资源
curl_close($ch);

瑾兮2017-05-09 23:42:10

这个链接跳转过程是这样的:
第1步: http://s.click.taobao.com/t_9?p=mm_0_0_0&l=http%3A%2F%2F3c.tmall.com
第2步: http://s.click.taobao.com/t_js?tu=http%3A%2F%2Fs.click.taobao.com%2Ft_9%3Fp%3Dmm_0_0_0%26l%3Dhttp%253A%252F%252F3c.tmall.com%26ref%3D%26et%3DjFBB2s50lFpgLg%253D%253D
第3步: http://3c.tmall.com/?ali_trackid=2:mm_0_0_0:1354708376_4k9_1111452281

很明显, 第3个页面是第2个中转页面利用第1个网址传过来的参数计算后跳转的, 自己可以弄明白第2个页面的算法, 计算出第3个页面, 直接采集第3个页面内容即可

晚风撩人2016-12-12 05:43:20

测试了下,直接用file_get_contents('http://s.click.taobao.com/t_9?p=mm_0_0_0&l=http%3A%2F%2F3c.tmall.com'); 也可以的吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文