欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.net(c#)打造24小时天气预报及实时天气

程序员文章站 2022-05-26 11:18:09
本文详细介绍关于asp.net的实时天气及24小时天气预报 修改其中的url获得其他城市的天气情况的文章专题。 asp.net的实时天气及24小时天气预报(c#) ...
本文详细介绍关于asp.net的实时天气及24小时天气预报
修改其中的url获得其他城市的天气情况的文章专题。


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;  
}  
}  
}  
请注明转自chinazhan中国站长