使用PHP代码实现将淘宝客短连接s.click.taobao 还原成原始链接,并提取出商品id,注意:以下代码经测试在Apache可以正常跑,nginx 暂时无法使用。
/** * 获取重定向后的链接 qq: 1745000861 * $url 链接 * $referer 来源链接 * $timeout 超时时间 */ function get_redirect_url($url, $referer='', $timeout = 10) { $redirect_url = false; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_NOBODY, TRUE);//不返回请求体内容 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);//允许请求的链接跳转 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Accept: */*', 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', 'Connection: Keep-Alive')); if ($referer) { curl_setopt($ch, CURLOPT_REFERER, $referer);//设置referer } $content = curl_exec($ch); if(!curl_errno($ch)) { $redirect_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);//获取最终请求的url地址 } return $redirect_url; } /** * 获取淘宝真实链接地址 qq: 1745000861 * $url 链接 * $referer 来源链接 * $timeout 超时时间 */ function get_tb_redirect_url($u) { $rd = get_redirect_url($u); $url = explode('tu=', $rd); $url = urldecode($url[1]); return get_redirect_url($url, $rd); } //调用示例: get_tb_redirect_url("https://s.click.taobao.com/vVjThGw"); //输出效果 https://item.taobao.com/item.htm?id=558697118888
在线工具测试:http://www.91tool.com/tbkurl