110,538
社区成员
发帖
与我相关
我的任务
分享
public static string GetWeather(string area)
{
var url = "http://m.weather.com.cn/atad/" + area + ".html";
var client = new System.Net.WebClient() { Encoding = System.Text.Encoding.UTF8 };
var rs = client.DownloadString(url);
return rs;
}
目前是这个地址..不过人家并没有说这是所谓的API..
如果要API另外有开放平台LZ可以用公司的信息进行申请key(我已经申请下来并且在用了)
/// <summary>
/// 天气接口
/// 文档:http://openweather.weather.com.cn/Home/Help/common.html
/// </summary>
public class weather
{
public static string GetWeather(string area, string appid, string private_key)
{
var date = DateTime.Now.ToString("yyyyMMddHHmm");
var url = "http://open.weather.com.cn/data/?areaid=" + area;
url += "&type=forecast_v";
url += "&date="+date;
url += "&appid=" + appid.Substring(0,6);
var public_key = url + appid.Substring(6, appid.Length - 6);
var key = Base64Encode(hash_hmac(public_key, private_key));
url += "&key=" + System.Web.HttpUtility.UrlEncode(key);
var client = new System.Net.WebClient() { Encoding = System.Text.Encoding.UTF8 };
var rs = client.DownloadString(url);
return rs;
}
public static byte[] hash_hmac(string signatureString, string secretKey)
{
var enc = Encoding.UTF8;
HMACSHA1 hmac = new HMACSHA1(enc.GetBytes(secretKey));
hmac.Initialize();
byte[] buffer = enc.GetBytes(signatureString);
return hmac.ComputeHash(buffer);
}
public static string Base64Encode(byte [] data)
{
return Convert.ToBase64String(data);
}
}