zoukankan      html  css  js  c++  java
  • Get json formatted string from web by sending HttpWebRequest and then deserialize it to get needed data

            static string GetLotteryByPhase(string phaseNo)
            {
                // Set the url and charset
                string url = "http://baidu.lecai.com/lottery/draw/ajax_get_detail.php?lottery_type=50&phase=" + phaseNo;
                string charset = "gb2312";
    
                dynamic lotteryObj = null;
                JArray redBalls = null;
                JArray blueBall = null;
                string lotteryStr = GetValueFromWeb(url, charset);
                try
                {
                    // Deserialize the json string
                    lotteryObj = JsonConvert.DeserializeObject(lotteryStr);
    
                    // Get the expected data from json structure 
                    redBalls = lotteryObj.data.result.result[0].data;
                    blueBall = lotteryObj.data.result.result[1].data;
                }
                catch (Exception)
                {
                    return string.Empty;
                }
    
                StringBuilder sb = new StringBuilder();
                // Get the value from JToken by convrting the JArray to int array
                int[] items = redBalls.Select(jv => (int)jv).ToArray();
    
                foreach (int item in items)
                {
                    sb.Append(item.ToString());
                    sb.Append(", ");
                }
    
                // Get the value from JToken directly
                string blueBallStr = ((int)blueBall[0]).ToString();
                sb.Append(blueBallStr);
    
                return sb.ToString(); ;
            }
    
            // Retrieve data by sending http web request
            public static string GetValueFromWeb(string Url, string CharSet)
            {
                string resultData = string.Empty;
    
                try
                {
                    // Set HttpWebRequest's header
                    HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(Url);
                    wReq.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
                    wReq.ContentType = "application/x-www-form-urlencoded";
                    wReq.Accept = "*/*";
                    wReq.KeepAlive = true;
                    wReq.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
    
                    // Get and read the response
                    WebResponse wResp = wReq.GetResponse();
                    Stream respStream = wResp.GetResponseStream();
                    StreamReader reader = new StreamReader(respStream, Encoding.GetEncoding(CharSet));
    
                    resultData = reader.ReadToEnd();
    
                    return resultData;
                }
                catch
                {
                    return resultData;
                }
            }
  • 相关阅读:
    IOS总结_IOS经常使用的方法集合、调用系统电话、设备区分、APP内永不锁屏
    huffman编码——原理与实现
    python字典构造函数dict(mapping)解析
    tomcat配置sqlserver数据库
    Tomcat全攻略
    第一次QQ群视频教育有感
    UIControl-IOS开发
    java内存分析总结
    Android笔记 之 旋转木马的音乐效果
    Android中API建议的方式实现SQLite数据库的增、删、改、查的操作
  • 原文地址:https://www.cnblogs.com/researcher/p/5005054.html
Copyright © 2011-2022 走看看