您现在的位置:首页 > >

服务器后端的用户行为数据采集

发布时间:

    背景
    基于前端的用户行为数据采集,虽然能更小粒度的采集用户的精细化行为,但由于存在丢包、客户端网络环境、支付成功后服务端返回过慢等各样问题,导致采集的数据和业务*台的数据差异比较大,所以部分数据还是需要从后端出发采集的,例如支付结果的数据。后端数据采集基于server to server的方式进行,以post形式发送

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Net;
    using System.Configuration;
    using System.Collections.Specialized;

    namespace SdcRequestSender
    {
    class DC
    {
    // customer-specific DCSID
    static String dcsid = "dcs82b9ujitigdu3gaykxw0hn_5p6b";

    // hostname portion of the DC API url
    static String hostname = "www.server.com";

    // protocol portion of the DC API url
    static String protocol = "http";

    static String apiversion = "v1";

    // print_request - display request url and body to console
    static void PrintRequest(String url, String body)
    {
    Console.WriteLine("");
    Console.WriteLine("[Request]");
    Console.WriteLine("(Url)");
    Console.WriteLine(url);
    Console.WriteLine("(Body)");
    Console.WriteLine(body);
    }

    // 异步发送,不处理结果
    static void AsysPostUrl(String url, Dictionary bodydata)
    {
    StringBuilder bodystr = new StringBuilder();
    var values = new NameValueCollection();
    if (bodydata != null)
    {
    foreach (KeyValuePair kvp in bodydata)
    {
    bodystr.Append(String.Format("{0}={1}&", kvp.Key, kvp.Value));
    values[kvp.Key] = kvp.Value;
    }
    }
    PrintRequest(url,bodystr.ToString());

    using (var client = new WebClient())
    {
    var response = client.UploadValues(url, values);

    var responseString = Encoding.Default.GetString(response);
    }
    }

    public static void SimularSdcRequest(Dictionary body)
    {
    String event_url = String.Format("{0}://{1}/{2}/{3}/events.svc{4}", protocol, hostname, apiversion, dcsid, query_params);
    AsysPostUrl(event_url, body);
    }


    }
    }

    调用方式:
    ?

    Dictionary body = new Dictionary();
    body["dcsuri"] = "/MyCSharpTest";
    body["dcssip"] = "localhost";
    body["WT.ti"] = "My CSharp Test";
    DC.SimularSdcRequest(body);

    ?


热文推荐
猜你喜欢
友情链接: 医学资料大全 农林牧渔 幼儿教育心得 小学教育 中学 高中 职业教育 成人教育 大学资料 求职职场 职场文档 总结汇报