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;
}
}