如何在Service中对远程网站代码进行分析提取【高分请教】
如:
try
{
//获取远程网站代码内容
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 30000;
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");
StreamReader streamReader = new StreamReader(streamReceive, encoding);
string strWebContent = streamReader.ReadToEnd();
//对获取的内容进行分析
int iBodyStart = strWebContent.IndexOf("iMonitor", 0);
int iTableStart = strWebContent.IndexOf("<table", iBodyStart);
int iTableEnd = strWebContent.IndexOf("</table>", iTableStart);
string strWeb = strWebContent.Substring(iTableStart, iTableEnd - iTableStart + 8);
//生成HtmlDocument
WebBrowser webb = new WebBrowser();
webb.Navigate("about:blank");
HtmlDocument htmldoc = webb.Document.OpenNew(true);
htmldoc.Write(strWeb);
HtmlElementCollection htmlTR = htmldoc.GetElementsByTagName("TR");
DataTable dt = new DataTable("seltable");
dt.Columns.Add("ID", Type.GetType("System.String"));
dt.Columns.Add("mc", Type.GetType("System.String"));
dt.Columns.Add("dqz", Type.GetType("System.String"));
dt.Columns.Add("zt", Type.GetType("System.String"));
int i = 0;
foreach (HtmlElement tr in htmlTR)
{
i++;
if (i > 3)
{
string strID = tr.GetElementsByTagName("TD")[0].InnerText;
string strmc = tr.GetElementsByTagName("TD")[1].InnerText;
string strdqz = tr.GetElementsByTagName("TD")[2].InnerText;
string strzt = tr.GetElementsByTagName("TD")[3].InnerText;
}
}
}
catch
{
//EventLog.WriteEntry();
}
但service中用不了WebBrowser ,该如何对返回的代码进行提取?