ASP.NET抓取網(wǎng)頁內(nèi)容的實(shí)現(xiàn)方法
本文實(shí)例講述了ASP.NET抓取網(wǎng)頁內(nèi)容的實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
一、ASP.NET 使用HttpWebRequest抓取網(wǎng)頁內(nèi)容
/// 用HttpWebRequest取得網(wǎng)頁源碼
/// 對于帶BOM的網(wǎng)頁很有效,不管是什么編碼都能正確識別
/// </summary>
/// <param name="url">網(wǎng)頁地址" </param>
/// <returns>返回網(wǎng)頁源文件</returns>
public static string GetHtmlSource2(string url)
{
//處理內(nèi)容
string html = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Accept = "*/*"; //接受任意文件
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"; //
request.AllowAutoRedirect = true;//是否允許302
//request.CookieContainer = new CookieContainer();//cookie容器,
request.Referer = url; //當(dāng)前頁面的引用
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.Default);
html = reader.ReadToEnd();
stream.Close();
return html;
}
二、ASP.NET 使用 WebResponse 抓取網(wǎng)頁內(nèi)容
{
string sException = null;
string sRslt = null;
WebResponse oWebRps = null;
WebRequest oWebRqst = WebRequest.Create(Url);
oWebRqst.Timeout = 50000;
try
{
oWebRps = oWebRqst.GetResponse();
}
catch (WebException e)
{
sException = e.Message.ToString();
}
catch (Exception e)
{
sException = e.ToString();
}
finally
{
if (oWebRps != null)
{
StreamReader oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("utf-8"));
sRslt = oStreamRd.ReadToEnd();
oStreamRd.Close();
oWebRps.Close();
}
}
return sRslt;
}
希望本文所述對大家的C#程序設(shè)計有所幫助。
- asp.net中獲取遠(yuǎn)程網(wǎng)頁的內(nèi)容之一(downmoon原創(chuàng))
- asp.net下獲取遠(yuǎn)程網(wǎng)頁的內(nèi)容之二(downmoon原創(chuàng))
- asp.net 網(wǎng)頁編碼自動識別代碼
- asp.net HttpWebRequest自動識別網(wǎng)頁編碼
- asp.net(c#)做一個網(wǎng)頁數(shù)據(jù)采集工具
- HttpWebRequest和HttpWebResponse用法小結(jié)
- ASP.NET MVC中解析淘寶網(wǎng)頁出現(xiàn)亂碼問題的解決方法
- asp.net 抓取網(wǎng)頁源碼三種實(shí)現(xiàn)方法
- C#中HttpWebRequest的用法詳解
- ASP.NET使用HttpWebRequest讀取遠(yuǎn)程網(wǎng)頁源代碼
相關(guān)文章
.NET使用js制作百度搜索下拉提示效果(不是局部刷新)實(shí)現(xiàn)思路
搞了個不是局部刷新的百度搜索框下拉提示效果大致思路:前臺放一個input標(biāo)簽,然后當(dāng)該標(biāo)簽內(nèi)的值輸入有變化的時候,調(diào)用后臺代碼查詢 符合條件的數(shù)據(jù)綁定ListBox,感興趣的朋友可以了解下2013-01-01
代碼實(shí)現(xiàn)打印功能(asp.net+javascript)
頁面實(shí)現(xiàn)打印的效果代碼,分為服務(wù)器端和客戶端單個即可,客戶端的比較不錯,本站也是類似的方法。2009-05-05
Request.QueryString與一般NameValueCollection的區(qū)別
最近在做一個搜索程序的優(yōu)化改進(jìn),將搜索結(jié)果按照查詢的參數(shù)不同進(jìn)行緩存。緩存的Key很自然的就想到了用查詢字符串,而獲取查詢字符串的最簡單方式是通過Request.QueryString.ToString()方法2011-12-12
asp.net中Response.Redirect與Server.Transfer的區(qū)別分析
一般來說如果需要在兩個頁面間共享數(shù)據(jù),而且數(shù)據(jù)量比較大的時候,用transfer會比較合適,在第二個頁面中可以直接使用前一頁面的數(shù)據(jù)。2010-10-10
如何在ASP.NET Core應(yīng)用程序運(yùn)行Vue并且部署在IIS上詳解
這篇文章主要給大家介紹了關(guān)于如何運(yùn)行Vue在ASP.NET Core應(yīng)用程序并且部署在IIS上的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
分享AjaxPro或者Ajax實(shí)現(xiàn)機(jī)制
今天與大家分享AjaxPro或者Ajax實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下。2011-12-12
asp.net Context.Handler 頁面間傳值方法
很有用的頁面間傳值方法(Context.Handler),使用說明2008-08-08

