Google 测量协议 returns GIF89a������,D;

Google Measurement protocol returns GIF89a�����,D;

我正在使用 Google 测量协议 API 来节省展示次数。它工作正常,但虽然我没有回应任何东西 returns GIF89a������,D;在页面上可见。知道如何隐藏它吗?

我正在使用 HTTP post 请求发送数据。

$url = 'http://www.google-analytics.com/collect';
$fields_string = '';
$fields = array(
    'v' => 1,
    'tid' => 'UA-xxxxxxx-xx',
    'cid' => xxx,
    't' => 'event',
    'ec' => 'category',
    'ea' => 'impression',
    'el' => 'label'
);

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);
curl_close($ch);

就目前而言,当您进行 cURL 调用时,returned 信息将显示在屏幕上。如果你想避免这种情况,你可以使用 CURLOPT_RETURNTRANSFER,这将允许你像以前一样将 returned 信息存储到变量中。

$result = curl_exec($ch);

因为你不是 "telling" curl 否则它只会将 return 溢出到浏览器。

所以最后,你的卷曲部分应该是这样的:

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url); //curl the url
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, TRUE); //return the transfer to be later saved to a variable
$result = curl_exec($ch);