将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配置并不好。你能帮我解决这个问题吗?
答案 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 )
并在这里提出反馈