cURL会员跟踪像素

时间:2012-12-05 18:15:42

标签: php curl tracking pixel affiliate

我在尝试让我的联盟会员跟踪像素以使用cURL请求标记转化时遇到问题。每个请求我得到200的响应。因此,我不知道为什么它没有进行转换。我在网上做了一些研究,但在Google上找不到这方面的内容。

    function pixel($row) {

$i = 0;
$pixelArray = array("https://path.tosite.com/pixel/","https://path.tosite.com/pixel/2");
$count = sizeof($pixelArray);

    while ($i < $count) {

        $line   = $pixelArray[$i];
        //echo "<br/> line = ".$line;
        // replace [afid], [sid], [c1], [c2], [c3], or [t] with the corresponding value in $_SESSION
        $line   = preg_replace_callback(
            '/\[(afid|sid|c1|c2|c3|t)\]/',
            function($matches) { return $_SESSION[$matches[1]]; },
            $line
        );
        //echo "<br/>".$i.": ".$line;
        firePixels($line, $row);
        $i++;
    }
    //echo "Done";
}
function firePixels($url, $row) 
{ 

    $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, TRUE);
    curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
    //curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');

    $head = curl_exec($ch); 
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    $error = curl_error($ch);
    curl_close($ch); 

    if(!$head) 
    { 

        logPixel($url, $row, $httpCode);
        //die('Pixel Execution Failed: '.$error." | ".$url);
        return FALSE; 
    } 


    logPixel($url, $row, $httpCode);

    if($httpCode === 200) 
    {   
        return TRUE; 
    } 
    else 
    { 
        return FALSE; 
    } 


}

1 个答案:

答案 0 :(得分:0)

很有可能是因为以下情况之一:

  1. 您的cURL会话最终会遗漏您的联盟会员期待的一些Cookie,但会被忽略。

  2. 您的联盟会员已从服务器的IP中检测到异常数量的请求,并已将其阻止。

  3. 您的联盟会员已在您的请求中检测到其他一些违规行为,并已将其阻止。

  4. 会员跟踪像素旨在由客户的浏览器请求,而不是由您的服务器请求。除非你已经与你的会员做了安排,否则你不应该这样做。