首页 > 代码库 > 使用WebService天气接口,自动获取天气,并定时写入数据库

使用WebService天气接口,自动获取天气,并定时写入数据库

 因为我也是菜鸟,所以尽量写的简单些。。。。。

 1. 使用的天气接口为 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ,虽说是免费的,但是有使用次数限制

 2. 开发使用的是VS2012 中的 C#控制台程序,开发时需要添加WEB引用,没错,地址就是上面的URL

 3. 引用方法:右键项目 -> 添加服务引用 -> 左下角高级选项 -> 添加Web引用,如下图,URL为接口地址,Web引用名随你喜欢就填什么,我填的是Weather

技术分享

 4. 引入服务命名空间

using GetWeater.Weather; 

 5. 调用服务,得到天气数据,因为返回的是数组,所以需要我们自己选择自己需要的数据,我需要的是当天的天气概况。

 Weather.WeatherWebService s = new Weather.WeatherWebService();                string[] str = new string[22];                str = s.getWeatherbyCityName("上海");                string todayweather = str[6]; //获取的是当天的实时天气概况

 6. ,因为正在上班,没时间写,直接贴出完整代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using GetWeater.Weather;using System.Threading;using System.Timers;using System.Data;using System.Data.SqlClient;using System.Collections; namespace GetWeater{    class Program    {        private static void Say(string txt)        {            Console.WriteLine(txt);        }        static void Main(string[] args)        {            while (true)            {                MyTask();                int t = 1000 * 60 * 60 * 24;                Thread.Sleep(t); // 时间周期毫秒            }        }        static void MyTask()        {            SqlConnection conn = new SqlConnection("server=.;database=weather;uid=sa;pwd=sa");                        try            {                Weather.WeatherWebService s = new Weather.WeatherWebService();                string[] str = new string[22];                str = s.getWeatherbyCityName("上海");                string todayweather = str[6];                               conn.Open();                Console.WriteLine("数据库连接成功!\n")                string sql = "insert into WeatherMsg(Content)Values(‘" + todayweather + "‘;                SqlCommand sqlcom = new SqlCommand(sql, conn);                sqlcom.ExecuteNonQuery();                                        Console.WriteLine("数据更新成功!\n");                conn.Close();                Console.WriteLine("关闭数据库连接!\n");            }            catch (Exception a)            {                Console.WriteLine(a.ToString());            }        }    }}

 先溜了,欢迎大家批评指正!

 

使用WebService天气接口,自动获取天气,并定时写入数据库