用PHP对获得淘宝客的真实地址和内容

本文介绍了如何使用PHP的CURL库,通过处理淘宝客链接的多次跳转和refer检查,来获取链接背后的真实网址和内容。这种方法适用于解决淘宝客链接的定向问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用PHP CURL获取淘宝客链接的真实地址和内容,其实淘宝那边只是做了几次跳转,外加判断了一次refer,这样的话,普通的curl或者一些其他函数就不能得到最终的结果了。



/**
 * 获取淘宝客的真实地址和内容
 *
 * @author cnxzcxy<cnxzcxy@gmail.com>
 * @version $$Id$$
 **/
function cnxzcxy_curl($url, $method = '', $post = '', $refer = '', $returnHeaderInfo = false)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt ($curl, CURLOPT_TIMEOUT, 60);//设置超时时间,单位秒
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8");
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    if (!empty($refer)) {
        curl_setopt($curl, CURLOPT_REFERER, $refer);
    }
    if ($method == 'post') {
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
    }
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    $str = curl_exec($curl);
    $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    $location = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL);
    curl_close($curl);
    unset($curl);
    if(!$str) 
    { 
        return false; 
    }
    //返回头信息
    if ($returnHeaderInfo) {
        return array($httpCode, $location, $str);
    }
    return $str;
}
 
//原始淘宝客链接
$originUrl = 'http://s.click.taobao.com/t_js?tu=http%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3DzGU34CA7K%252BPkqB07S4%252FK0CFcRfH0GoT805sipKj0%252BcUz4Afr3YQbK2yBIu%252Bt3BkAH5cLTBOByB2M4rUcLIrxtemFUSwzUAVjoEKxT8H8bD6Uww%253D%253D%26ref%3D%26et%3DjFBC6ejEHSDLAg%253D%253D';
$url = explode('tu=', $originUrl);
$url = urldecode($url[1]);
 
//利用curl模拟请求
$content = cnxzcxy_curl($url, 'get', '', $originUrl, true);
print_r($content);
 
/*
返回结果
array(
  [0]=>200,//http code
  [1]=>http://detail.tmall.com/item.htm?id=19610539887&ali_trackid=2:mm_14363892_0_0:1366182113_4k3_1370801342&tbpm=3,//最终url
  [2]=>... //html内容在此)
*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值