作者:guanliyuan日期:2007-10-10
分两步
1,找一个有ALEXA网站排名数据的网站比如
http://alexa.ip138.com/?domain=89mc.com
2,用。net技术访问这个网址分解排名数据
如果网页是使用得gb2313编码方式,那么,无论是使用WebRequest类,还是HttpWebRequest类,还是采用WebClient都避免不了对获取的“字符串”内容进行再编码。
基本的方式是按byte读取,网页信息。再设置当前编码方式为“gb2312”,再通过Encoding类对byte数组进行组装。核心的代码是
int bytes = objStream.Read(read, 0, 512); while(..){ System.Text.Encoding encode = System.Text.Encoding.GetEncoding("gb2312"); Console.Write(encode.GetString(read, 0, bytes)); }
采用HttpWebRequest逐一读取字节的代码案例
static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 //
string sURL; sURL = "http://www.maketop.net";
HttpWebRequest wrGETURL; wrGETURL = (HttpWebRequest)WebRequest.Create(sURL); wrGETURL.UserAgent = "test robot";
Stream objStream; objStream = wrGETURL.GetResponse().GetResponseStream();
Byte[] read = new Byte[512]; int bytes = objStream.Read(read, 0, 512);
while(bytes > 0) { System.Text.Encoding encode = System.Text.Encoding.GetEncoding("gb2312"); Console.Write(encode.GetString(read, 0, bytes));
bytes = objStream.Read(read, 0, 512); }
Console.ReadLine(); }
采用WebClient更简便的方法
static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // WebClient wc = new WebClient(); byte[] response = wc.DownloadData("http://www.maketop.net"); System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("gb2312"); Console.WriteLine(encoding.GetString(response)); Console.ReadLine(); }
|
Posted @2007-10-10 14:00:23
阅读(1)
评论(0)
TrackBack(0)