c#中的Google分析

本文关键字:分析 Google 中的 | 更新日期: 2023-09-27 17:52:43

我想用c#代码代替javascript代码的谷歌分析

<script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-xxxxxxx-x']);
        _gaq.push(['_trackPageview']);
        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
c#

var query = HttpUtility.ParseQueryString(String.Empty);
        query.Add("utmwv", "4.9");
        query.Add("utmhn", "host name"); 
        query.Add("utmcs", "UTF-8");
        query.Add("utmul", "en-us");
        query.Add("utmdt", "google analysis... c#"); 
        query.Add("utmac", "UA-xxxxxx-x");
        string m = "http://www.google-analytics.com/__utm.gif?";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Headers.Add("GData-Version", "2");
   var uri = new UriBuilder("http://www.google-analytics.com/__utm.gif?");
        uri.Query = query.ToString();

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri.ToString());
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Headers.Add("GData-Version", "2");
        byte[] data = Encoding.ASCII.GetBytes(query.ToString());
        Stream input = request.GetRequestStream();
        input.Write(data, 0, data.Length);
        input.Close();
        HttpWebResponse nsResponse = (HttpWebResponse)request.GetResponse();
        Stream streamResponse = nsResponse.GetResponseStream();
        StreamReader streamRead = new StreamReader(streamResponse);
        string responseString = streamRead.ReadToEnd();

上面的代码,我正在做一个web请求,但无济于事。我错过了什么,或者有更好的方法吗?

c#中的Google分析

应该是GET请求而不是POST请求。不确定这是否有什么不同,但你肯定在上面的例子中遗漏了很多参数。你应该使用Firebug或Live HTTP Headers之类的东西来查看发送到Google Analytics的内容并模仿。

我也不能看到查询被添加到您的代码中的请求,但也许你没有张贴这一点在这里。