-1

我在尝试让我的会员跟踪像素使用 cURL 请求标记转化时遇到问题。对于每个请求,我都会收到 200 的响应。因此,我不知道为什么它没有进行转换。我在网上做了一些研究,但在谷歌上没有找到太多关于此的内容。

    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; 
    } 


}
4

1 回答 1

0

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

  1. 您的 cURL 会话最终会丢失您的会员所期望的一些 cookie,并被忽略。

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

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

Affiliate tracking pixels are intended to be requested by the customer's browser, not by your server. Unless you have made arrangements with your affiliate to do otherwise, you should not attempt this.

于 2012-12-05T18:24:41.570 回答