国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

使用C# Winform應(yīng)用程序獲取網(wǎng)頁源文件的解決方法

2020-01-24 03:17:28
字體:
供稿:網(wǎng)友

在C# Winform 應(yīng)用程序中,獲取某網(wǎng)頁的源文件,可以用以下方法:

首先引入名稱空間
using System.IO;
using System.Net;

WebClient MyWebClient = new WebClient();                 MyWebClient.Credentials = CredentialCache.DefaultCredentials;//獲取或設(shè)置用于向Internet資源的請求進(jìn)行身份驗(yàn)證的網(wǎng)絡(luò)憑據(jù)Byte[] pageData = MyWebClient.DownloadData("http://www.baidu.com");//string pageHtml = Encoding.Default.GetString(pageData);  FileStream file = new FileStream("C://test.html", FileMode.Create); file.Write(pageData, 0, pageData.Length);

附,c# 獲取網(wǎng)頁源碼的代碼舉例。
C# 獲取指定網(wǎng)頁HTML原代碼可使用:WebClient WebRequest HttpWebRequest 三種方式。
當(dāng)然也可使用webBrowse,有興趣的朋友,可以自己研究下。

1,WebClient方式

private string GetWebClient(string url){  string strHTML = "";  WebClient myWebClient = new WebClient();  Stream myStream = myWebClient.OpenRead(url);  StreamReader sr = new StreamReader(myStream, System.Text.Encoding.GetEncoding("utf-8"));  strHTML = sr.ReadToEnd();  myStream.Close();  return strHTML;}

2,WebRequest方式

private string GetWebRequest(string url){  Uri uri = new Uri(url);  WebRequest myReq = WebRequest.Create(uri);  WebResponse result = myReq.GetResponse();  Stream receviceStream = result.GetResponseStream();  StreamReader readerOfStream = new StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8"));  string strHTML = readerOfStream.ReadToEnd();  readerOfStream.Close();  receviceStream.Close();  result.Close();  return strHTML;}

3,HttpWebRequest方式

private string GetHttpWebRequest(string url){  Uri uri = new Uri(url);  HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri);  myReq.UserAgent = "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705";  myReq.Accept = "*/*";  myReq.KeepAlive = true;  myReq.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");  HttpWebResponse result = (HttpWebResponse)myReq.GetResponse();  Stream receviceStream = result.GetResponseStream();  StreamReader readerOfStream = new StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8"));  string strHTML = readerOfStream.ReadToEnd();  readerOfStream.Close();  receviceStream.Close();  result.Close();  return strHTML;}

注意:“utf-8”應(yīng)與指定網(wǎng)頁的編碼對應(yīng)。
總結(jié)
HttpWebRequest 方式最復(fù)雜,但確提供了更多的選擇性。
有的網(wǎng)站檢測客戶端的UserAgent!如163.com,如果使用WebClient WebRequest方式獲取,將獲取到的是錯誤提示頁面的內(nèi)容。
HttpWebRequest沒有這個問題。
測試環(huán)境:WIN2003 + VS2005 + C# + winForm

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 都昌县| 五指山市| 商水县| 玉环县| 探索| 桐庐县| 乌审旗| 佛山市| 绍兴县| 龙州县| 通化县| 京山县| 安达市| 青龙| 安塞县| 富锦市| 赤城县| 普兰店市| 玉田县| 毕节市| 临洮县| 旬阳县| 南郑县| 望都县| 广东省| 屏东市| 靖边县| 新昌县| 宜川县| 宜阳县| 曲麻莱县| 大田县| 泽库县| 日土县| 凤山县| 农安县| 洛南县| 恭城| 五河县| 集安市| 周口市|