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
name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta
name="CODE_LANGUAGE" Content="C#">
<meta
name="vs_defaultClientScript" content="JavaScript">
<meta
name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form
id="GetWeather" method="post" runat="server">
<FONT
face="宋体">
<P>
<asp:Label
id="lblWeather" runat="server">Weather</asp:Label></P>
<P>
<asp:Button
id="btnGet" runat="server" Text="Get
Weather"></asp:Button></P>
<P>
<asp:Label
id="Weather2" runat="server">24小时天气</asp:Label></P>
<P>
<asp:Button
id="btnGet2" 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; }
} }
|