C# .Net获取SoJson实时天气接口的数据

C#实时天气接口

提示:可同步(后端直接请求)或异步(前端Ajax异步请求)请求,返回的是json格式的天气数据。
注意:服务器端必须要有互联网才能请求此接口。


前言

提示:这是服务器端请求数据方式,前端请求可采用Ajax调用。

一、后端请求代码

说明:http://t.weather.itboy.net/api/weather/city/城市编码(如:101270101)为接口地址,该地址可能会变更,注意关注sojson官方天气接口的地址
sojson天气接口文档地址:https://www.sojson.com/blog/305.html

代码如下:

/// <summary>
/// 根据城市编码获取天气json
/// </summary>
/// <param name="cityCode">城市编码</param>
/// <returns>天气json</returns>
protected string GetWeatherByCity(string cityCode)
{
     try
     {
          string url = "http://t.weather.itboy.net/api/weather/city/" + cityCode;
          System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
          request.Timeout = 10000;
          request.UserAgent = "Code Sample Web Client";
          request.Credentials = CredentialCache.DefaultCredentials;
          //HttpWebRequest 对象 获取GetResponse 转换成HttpWebResponse
          System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;
          //通过HttpWebResponse response.GetResponseStream()获取输出流
          System.IO.Stream str = response.GetResponseStream();
          System.IO.StreamReader reader = new System.IO.StreamReader(str, System.Text.Encoding.GetEncoding("utf-8"));
          string weathhtml = reader.ReadToEnd();
          str.Close();
          reader.Close();
          return weathhtml;
     }
     catch (Exception)
     {
          return "请求异常";
     }
}

二、前端请求代码

后端接口处理接口可以是api或者一般处理程序ashx,这里就不一一贴了。
前端ajax请求代码如下(返回的json结果可以自由处理输出到页面):

$.ajax({
    type: "post",
    url: '后端处理接口地址',
    data: {
        cityCode: cityCode//城市编码
    },
    success: function (result) {
        if (result.status == 200) {//请求成功加载信息
			console.log(result.data.forecast[0].type);
        }
        else {
			console.log(result);
        }
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        console.log("错误:" + XMLHttpRequest);
    }
});

三、城市编码json

weather_city.json文件下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值