首页 > 代码库 > csharp:qq weather

csharp:qq weather

using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Net;using System.Net.Security;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates;using System.Text;using System.IO;using System.Text.RegularExpressions;using System.Net.Cache;namespace sitemapdemo{    /// <summary>    /// 2011-06-16 塗聚文    /// </summary>    public partial class QQweather : System.Web.UI.Page    {        public string selectcity = "1";        string strUrl = "http://weather.qq.com/inc/ss1.htm";        string old = @"<select id=""obSelect"" onchange=""getredirect(this.value)"">";        string old1 = @"<option value=""1"">香港</option><option value=""2"">澳门</option><option value=""17"">哈尔滨</option><option value=""28"">乌鲁木齐</option><option value=""56"">西宁</option><option value=""57"">兰州</option><option value=""69"">呼和浩特</option><option value=""78"">银川</option><option value=""82"">石家庄</option><option value=""84"">太原</option><option value=""103"">长春</option><option value=""115"">沈阳</option><option selected value=""125"">北京</option><option value=""127"">天津</option><option value=""140"">济南</option><option value=""150"">拉萨</option><option value=""166"">成都</option><option value=""179"">昆明</option><option value=""186"">西安</option><option value=""189"">郑州</option><option value=""211"">武汉</option><option value=""212"">重庆</option><option value=""218"">长沙</option><option value=""227"">贵阳</option><option value=""232"">桂林</option><option value=""244"">南京</option><option value=""248"">合肥</option><option value=""252"">上海</option><option value=""255"">杭州</option><option value=""264"">南昌</option><option value=""276"">福州</option><option value=""280"">台北</option><option value=""287"">厦门</option><option value=""292"">广州</option><option value=""295"">南宁</option><option value=""296"">深圳</option><option value=""303"">海口</option>";        string old2 = @"</select>";        string old3 = @"市";        string old4 = @"<img src=""/images/r_b.gif"" width=""96"" height=""21"">";        string strWeather = string.Empty;        /// <summary>        ///         /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void Page_Load(object sender, EventArgs e)        {            //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);            //HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri("http://intranet.lukfook.com.hk/luk_intranet/QQweather.aspx"));//https://intranet.lukfook.com.hk/luk_intranet/QQweather.aspx            //req.Method = "GET";            //HttpWebResponse res = (HttpWebResponse)req.GetResponse();            //selectcity = DropDownList1.SelectedValue.ToString();            if (!IsPostBack)            {                this.DropDownList1.DataSource = CreateDataSource();                DropDownList1.DataTextField = "WeatherTextField";                DropDownList1.DataValueField = "WeatherValueField";                // Bind the data to the control.                DropDownList1.DataBind();                // Set the default selected item, if desired.                DropDownList1.SelectedIndex = 0;                selectcity = @"1";                               strUrl = "http://weather.qq.com/inc/ss1.htm";                strWeather = getHttpData(strUrl);                strWeather = strWeather.Replace(old, "");                strWeather = strWeather.Replace(old1, "");                strWeather = strWeather.Replace(old2, "");                strWeather = strWeather.Replace(old3, "");                strWeather = strWeather.Replace(old4, "");                geovindu.InnerHtml = strWeather; //getHttpData(strUrl);                 //Response.Write(s);            }            /*             * <select id="obSelect" onchange="getredirect(this.value)"><option value="http://www.mamicode.com/1">香港</option><option value="http://www.mamicode.com/2">澳门</option><option value="http://www.mamicode.com/17">哈尔滨</option><option value="http://www.mamicode.com/28">乌鲁木齐</option><option value="http://www.mamicode.com/56">西宁</option><option value="http://www.mamicode.com/57">兰州</option><option value="http://www.mamicode.com/69">呼和浩特</option><option value="http://www.mamicode.com/78">银川</option><option value="http://www.mamicode.com/82">石家庄</option><option value="http://www.mamicode.com/84">太原</option><option value="http://www.mamicode.com/103">长春</option><option value="http://www.mamicode.com/115">沈阳</option><option selected value="http://www.mamicode.com/125">北京</option><option value="http://www.mamicode.com/127">天津</option><option value="http://www.mamicode.com/140">济南</option><option value="http://www.mamicode.com/150">拉萨</option><option value="http://www.mamicode.com/166">成都</option><option value="http://www.mamicode.com/179">昆明</option><option value="http://www.mamicode.com/186">西安</option><option value="http://www.mamicode.com/189">郑州</option><option value="http://www.mamicode.com/211">武汉</option><option value="http://www.mamicode.com/212">重庆</option><option value="http://www.mamicode.com/218">长沙</option><option value="http://www.mamicode.com/227">贵阳</option><option value="http://www.mamicode.com/232">桂林</option><option value="http://www.mamicode.com/244">南京</option><option value="http://www.mamicode.com/248">合肥</option><option value="http://www.mamicode.com/252">上海</option><option value="http://www.mamicode.com/255">杭州</option><option value="http://www.mamicode.com/264">南昌</option><option value="http://www.mamicode.com/276">福州</option><option value="http://www.mamicode.com/280">台北</option><option value="http://www.mamicode.com/287">厦门</option><option value="http://www.mamicode.com/292">广州</option><option value="http://www.mamicode.com/295">南宁</option><option value="http://www.mamicode.com/296">深圳</option><option value="http://www.mamicode.com/303">海口</option>             */        }        /// <summary>        ///         /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void Button1_Click(object sender, EventArgs e)        {            //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);            //HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri("http://intranet.lukfook.com.hk/luk_intranet/QQweather.aspx"));            //req.Method = "GET";            //HttpWebResponse res = (HttpWebResponse)req.GetResponse();            selectcity = DropDownList1.SelectedValue.ToString();            strUrl = "http://weather.qq.com/inc/ss"+selectcity+".htm";            strWeather = getHttpData(strUrl);            strWeather = strWeather.Replace(old, "");            strWeather = strWeather.Replace(old1, "");            strWeather = strWeather.Replace(old2, "");            strWeather = strWeather.Replace(old3, "");            strWeather = strWeather.Replace(old4, "");            geovindu.InnerHtml = strWeather; //getHttpData(strUrl);          }        /// <summary>        /// <%# selectcity%>        /// </summary>        /// <returns></returns>        ICollection CreateDataSource()        {                     DataTable dt = new DataTable();                        dt.Columns.Add(new DataColumn("WeatherTextField", typeof(String)));            dt.Columns.Add(new DataColumn("WeatherValueField", typeof(String)));            dt.Rows.Add(CreateRow("香港", "1", dt));            dt.Rows.Add(CreateRow("澳門", "2", dt));            dt.Rows.Add(CreateRow("哈爾濱", "17", dt));            dt.Rows.Add(CreateRow("烏魯木齊", "28", dt));            dt.Rows.Add(CreateRow("西寧", "56", dt));            dt.Rows.Add(CreateRow("蘭州", "57", dt));            dt.Rows.Add(CreateRow("呼和浩特", "69", dt));            dt.Rows.Add(CreateRow("銀川", "78", dt));            dt.Rows.Add(CreateRow("石家莊", "82", dt));            dt.Rows.Add(CreateRow("太原", "84", dt));            dt.Rows.Add(CreateRow("長春 ", "103", dt));            dt.Rows.Add(CreateRow("瀋陽 ", "115", dt));            dt.Rows.Add(CreateRow("北京 ", "125", dt));            dt.Rows.Add(CreateRow("天津 ", "127", dt));            dt.Rows.Add(CreateRow("濟南 ", "140", dt));            dt.Rows.Add(CreateRow("拉薩 ", "150", dt));            dt.Rows.Add(CreateRow("成都 ", "166", dt));            dt.Rows.Add(CreateRow("昆明 ", "179", dt));            dt.Rows.Add(CreateRow("西安 ", "186", dt));            dt.Rows.Add(CreateRow("鄭州 ", "189", dt));            dt.Rows.Add(CreateRow("武漢 ", "211", dt));            dt.Rows.Add(CreateRow("重慶 ", "212", dt));            dt.Rows.Add(CreateRow("長沙 ", "218", dt));            dt.Rows.Add(CreateRow("貴陽 ", "227", dt));            dt.Rows.Add(CreateRow("桂林 ", "232", dt));            dt.Rows.Add(CreateRow("南京 ", "244", dt));            dt.Rows.Add(CreateRow("合肥 ", "248", dt));            dt.Rows.Add(CreateRow("上海 ", "252", dt));            dt.Rows.Add(CreateRow("杭州 ", "255", dt));            dt.Rows.Add(CreateRow("南昌 ", "264", dt));            dt.Rows.Add(CreateRow("福州 ", "276", dt));            dt.Rows.Add(CreateRow("臺北 ", "280", dt));            dt.Rows.Add(CreateRow("廈門 ", "287", dt));            dt.Rows.Add(CreateRow("廣州 ", "292", dt));            dt.Rows.Add(CreateRow("南寧 ", "295", dt));            dt.Rows.Add(CreateRow("深圳 ", "296", dt));            dt.Rows.Add(CreateRow("海口 ", "303", dt));            DataView dv = new DataView(dt);            return dv;        }        /// <summary>        ///         /// </summary>        /// <param name="Text"></param>        /// <param name="Value"></param>        /// <param name="dt"></param>        /// <returns></returns>        DataRow CreateRow(String Text, String Value, DataTable dt)        {            DataRow dr = dt.NewRow();            dr[0] = Text;            dr[1] = Value;            return dr;        }        public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)        {            //直接确认,否则打不开            return true;        }        /// <summary>        ///         /// </summary>        /// <param name="url"></param>        /// <returns></returns>        public string getHttpData(string url)        {            try            {                //1                WebClient myWebClient = new WebClient();                //WebClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);                Stream myStream = myWebClient.OpenRead(url);                WebHeaderCollection myHeader = myWebClient.ResponseHeaders;                string myCharset = myHeader.Get("Content-Type");                Match myMatch = Regex.Match(myCharset, "(?<=(charset=)).*$");                StreamReader myReader = new StreamReader(myStream, Encoding.GetEncoding(myMatch.ToString()));                return myReader.ReadToEnd();            }            catch (System.Net.Sockets.SocketException ex)            {               return  ex.Message.ToString();            }        }        /// <summary>        ///         /// </summary>        class MyClient : WebClient        {            private bool tf = false;            public bool HeadOnly            {                get { return tf; }                set { value = http://www.mamicode.com/tf; }"GET")                {                    req.Method = "HEAD";                }                return req;            }        } }}