php - Google Analytics测量协议POST请求

时间:2017-07-06 14:05:55

标签: php google-analytics

将POST请求从我的服务器发送到Google Analytics时出现问题。

我试图发送测试(事件,订单等),但之后我没有收到任何东西,当我在浏览器中查看事件跟踪器时,绝对没有任何事情发生......

PHP代码

$x  =   [   
            'v'=>'1',
            't'=>'event',
            'tid'=>'.....',    // here goes my tracking ID
            'cid'=>'555',
            'ec'=>'video'
        ];

echo(google_a($x));


function google_a($x)                           {
    $x  = http_build_query($x);
    $ch = curl_init();
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    curl_setopt($ch,CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_URL,"https://www.google-analytics.com/collect");
    curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-type: application/x-www-form-urlencoded'));
    curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
    curl_setopt($ch,CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$x);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $server_output = curl_exec ($ch);

    curl_close ($ch);
    return($server_output);
}

我认为我的CURL配置并不好。你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

我通过添加这些行解决了这个问题。据我所知,他们禁用SSL连接验证:

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

所以,我能够从服务器控制谷歌分析:))

答案 1 :(得分:0)

Google的回复是什么? $ server_output

这样做:

echo "<pre>"
print_r( $server_output )

并在这里提出反馈