ASP.NET的实时天气及24小时天气预报(C#) [转]

来源:互联网 发布:维棠视频下载软件 编辑:程序博客网 时间:2024/05/17 08:13

ASP.NET的实时天气及24小时天气预报(C#) 修改其中的url获得其他城市的天气情况
            如广州为:
            http://weather.yahoo.com/forecast/CHXX0037_c.html
            注意仅适用于获得yahoo上的天气预报

            GetWeather.aspx
            -----------------------------------
            <%@ Page language="c#" Codebehind="GetWeather.aspx.cs"
            AutoEventWireup="false" Inherits="test.GetWeather" %>
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
            <HTML>
                <HEAD>
                    <title>GetWeather</title>
                    <meta Content="Microsoft Visual Studio
            7.0">
                    <meta Content="C#">
                    <meta content="Javascript">
                    <meta
            content="http://schemas.microsoft.com/intellisense/ie5">
                </HEAD>
                <body>
                    <form method="post" runat="server">
                        <FONT face="宋体">
                            <P>
                                <asp:Label
            runat="server">Weather</asp:Label></P>
                            <P>
                                <asp:Button runat="server" Text="Get
            Weather"></asp:Button></P>
                            <P>
                                <asp:Label
            runat="server">24小时天气</asp:Label></P>
                            <P>
                                <asp:Button runat="server"
            Text="天气预报"></asp:Button></P>
                        </FONT>
                    </form>
                </body>
            </HTML>
            
            
            getWeather.aspx.cs
            ---------------------------------------
            using System;
            using System.Collections;
            using System.ComponentModel;
            using System.Data;
            using System.Drawing;
            using System.Web;
            using System.Web.SessionState;
            using System.Web.UI;
            using System.Web.UI.WebControls;
            using System.Web.UI.HtmlControls;
            using System.Net;
            using System.IO;
            namespace test
            {
                public class GetWeather : System.Web.UI.Page
                {
                    protected System.Web.UI.WebControls.Label lblWeather;
                    protected System.Web.UI.WebControls.Label Weather2;
                    protected System.Web.UI.WebControls.Button btnGet2;
                    protected System.Web.UI.WebControls.Button btnGet;
                
                    private void Page_Load(object sender, System.EventArgs e)
                    {
                        // Put user code to initialize the page here
                    }
                    #region Web Form Designer generated code
                    override protected void OnInit(EventArgs e)
                    {
                        //
                        // CODEGEN: This call is required by the ASP.NET Web
            Form Designer.
                        //
                        InitializeComponent();
                        base.OnInit(e);
                    }
                    
                    /// <summary>
                    /// Required method for Designer support - do not modify
                    /// the contents of this method with the code editor.
                    /// </summary>
                    private void InitializeComponent()
                    {    
                        this.btnGet.Click += new
            System.EventHandler(this.btnGet_Click);
                        this.btnGet2.Click += new
            System.EventHandler(this.btnGet2_Click);
                        this.Load += new System.EventHandler(this.Page_Load);
                    }
                    #endregion
                    private void btnGet_Click(object sender, System.EventArgs e)

                    {
                        WebRequest
            wreq=WebRequest.Create("http://weather.yahoo.com/forecast/CHXX0037_c.html");

                            
                        HttpWebResponse
            wresp=(HttpWebResponse)wreq.GetResponse();
                                
                        string HTML ="";
                        Stream s=wresp.GetResponseStream();
                            
                        StreamReader objReader = new StreamReader(s);
                        string sLine = "";
                        int i = 0;
                        while (sLine!=null)
                        {
                            i++;
                            sLine = objReader.ReadLine();
                            if (sLine!=null)
                                HTML += sLine;
                        }
                            
                        String temp= "";
                        int start,stop;
                                        
                        start = HTML.IndexOf("<!-- CURCON-->",0,HTML.Length);
                        stop = HTML.IndexOf("<!-- END CURCON-->",0,HTML.Length);

                        temp = HTML.Substring(start, stop - start);
                        start = temp.IndexOf("<b>");
                        stop = temp.IndexOf("</b>");
                        
                        string degree = temp.Substring(start+3,stop - start -3);

                        start = temp.IndexOf("<img");
                        stop = temp.IndexOf("</td>",start);
                        string img = temp.Substring(start,stop - start);
                        lblWeather.Text = degree + "<br>" + img;
                            
                    }
                    private void btnGet2_Click(object sender, System.EventArgs
            e)
                    {
                        WebRequest
            wreq=WebRequest.Create("http://cn.weather.yahoo.com/CHXX/CHXX0037/index_c.html");

                            
                        HttpWebResponse
            wresp=(HttpWebResponse)wreq.GetResponse();
                                
                        string HTML ="";
                        Stream s=wresp.GetResponseStream();
                            
                        StreamReader objReader = new
            StreamReader(s,System.Text.Encoding.GetEncoding("GB2312"));
                
                        string sLine = "";
                        int i = 0;
                        while (sLine!=null)
                        {
                            i++;
                            sLine = objReader.ReadLine();
                            if (sLine!=null)
                                HTML += sLine;
                        }
                            
                        String temp= "";
                        int start,stop;
                                        
                        start = HTML.IndexOf("<table border=0 cellpadding=2
            cellspacing=1 bgcolor=9999cc width=/"85%/">",0,HTML.Length);
                        stop = HTML.IndexOf("</table>",start)+8;
                        
                        temp = HTML.Substring(start, stop - start);
                        Weather2.Text = temp;        
                    }
                }
            } 

原创粉丝点击