2015年10月13日 星期二

要取得其他網頁資料,可用 HttpWebRequest

在網頁中如有部份資訊來自其他網頁,可用HttpWebRequest來取得其他網頁資料,
以下範例使用ashx抓取某個網頁的xml資料,再取出想要的部份資料

// 建立HttpWebRequest物件
        HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://...");

//有需要登入的網頁,需增加登入帳號      
        myHttpWebRequest.Credentials = new NetworkCredential("帳號", "密碼");

 //取得HttpWebResponse物件
        HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

 //取得關於HttpWebResponse資料流
        Stream receiveStream = myHttpWebResponse.GetResponseStream();
        Encoding encode = System.Text.Encoding.GetEncoding("utf-8");

  // 建立資料流讀取物件
        StreamReader readStream = new StreamReader(receiveStream, encode);
        string ReadString = readStream.ReadToEnd();

//將資料流轉為xml文件
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(ReadString);

//找出預讀取的元素
        XmlNodeList NodeList = xmlDoc.SelectNodes("WowzaStreamingEngine/VHost/Application");


//使用迴圈取出資料
        foreach (XmlNode xn in NodeList)
        {
            if (xn["Name"].InnerText == "live")
            {        
                context.Response.Write(xn["ConnectionsCurrent"].InnerText+",");
                context.Response.Write(xn["ConnectionsTotal"].InnerText);                          
            }        
        }

//關閉 myHttpWebResponse及 readStream
        myHttpWebResponse.Close();
        readStream.Close();      

沒有留言:

張貼留言