1. 程式人生 > >黃聰:C#獲取網頁HTML內容的三種方式

黃聰:C#獲取網頁HTML內容的三種方式

複製程式碼
HttpWebRequest httpReq; 
HttpWebResponse httpResp; 

string strBuff = ""; 
char[] cbuffer = new char[256]; 
int byteRead = 0; 

string filename = @"c:\log.txt"; 
///定義寫入流操作 
public void WriteStream() 
{ 
Uri httpURL = new Uri(txtURL.Text);

///HttpWebRequest類繼承於WebRequest,並沒有自己的建構函式,需通過WebRequest的Creat方法 建立,並進行強制的型別轉換 
      httpReq = (HttpWebRequest)WebRequest.Create(httpURL); 
///通過HttpWebRequest的GetResponse()方法建立HttpWebResponse,強制型別轉換

   httpResp = (HttpWebResponse) httpReq.GetResponse(); 
///GetResponseStream()方法獲取HTTP響應的資料流,並嘗試取得URL中所指定的網頁內容

     ///若成功取得網頁的內容,則以System.IO.Stream形式返回,若失敗則產生ProtoclViolationException錯 誤。在此正確的做法應將以下的程式碼放到一個try塊中處理。這裡簡單處理 
Stream respStream = httpResp.GetResponseStream();

///返回的內容是Stream形式的,所以可以利用StreamReader類獲取GetResponseStream的內容,並以

StreamReader類的Read方法依次讀取網頁源程式程式碼每一行的內容,直至行尾(讀取的編碼格式:UTF8) 
StreamReader respStreamReader = new StreamReader(respStream,Encoding.UTF8);

byteRead = respStreamReader.Read(cbuffer,0,256); 

while (byteRead != 0) 
{ 
string strResp = new string(cbuffer,0,byteRead); 
                  strBuff = strBuff + strResp; 
                  byteRead = respStreamReader.Read(cbuffer,0,256); 
} 

respStream.Close(); 
txtHTML.Text = strBuff; 
}
複製程式碼

相關推薦

C#獲取網頁HTML內容方式

HttpWebRequest httpReq; HttpWebResponse httpResp; string strBuff = ""; char[] cbuffer = new char[256]; int byteRead = 0; string filename

asp.net C# 獲取網頁原始碼的幾方式

1 方法 System.Net.WebClient aWebClient = new System.Net.WebClient(); aWebClient.Encoding = System.Text.Encodin

總結C語言字串輸入的方式(scanf("%c",array); scanf("%s",str); gets(array);)

1、以scanf("%c",&array);的格式輸入字串; 由於%c是輸入一個字元,若需要輸入字串時我們可以建立陣列或指標配合迴圈(while,do{}while,for)來達到目的。如下例利用do{}while及陣列來輸入字串,並重新輸出,以字元#為結束標誌: #includ

C#類似Jquery的html解析類HtmlAgilityPack基礎類介紹及運用

Html Agility Pack 原始碼中的類大概有28個左右,其實不算一個很複雜的類庫,但它的功能確不弱,為解析DOM已經提供了足夠強大的功能支援,可以跟jQuery操作DOM媲美:) 基礎類和基礎方法介紹 Html Agility Pack最常用的基礎類其實不多,對解析DOM來說,就只有

python 爬蟲獲取網頁 html 內容以及下載附件的方法

python 爬蟲獲取網頁 html 內容以及下載附件的方法 python 爬蟲獲取網頁 html 內容的兩種方法: 獲取靜態網頁和使用瀏覽器獲取動態內容。 from urllib.request import urlopen from urllib import request

C#使用GeckoFx攔截監控Http資料

找了整整兩天,在大海撈針之後,終於在上古程式碼中找到了一個可用的。。。。 可以用喜極而泣來形容測試有效之後的心情!!! 跟cefsharp相比geckofx最大的優點就是模式更接近於IE,包括node、xml、xpath以及單獨設定cookie等。但是資料、問答等實在是太古老太古老了。 如果已入坑gec

細談 C++ 返回傳值的方式按值返回、按常量引用返回以及按引用返回

一、引言 停滯了很久,最近又開始細細品味起《Data Structure And Algorithm Analysis In C++》這本書了。這本書的第一章即為非常好的 C++11 統領介紹的教材範文,可能對於 C++11 新手來說,作者這樣短篇幅的介紹或許有些蒼白晦澀,但是對於我

Windows下c++獲取系統時間的方法

1、CTime類的static介面GetCurrentTime() 包含的標頭檔案#include <atltime.h> CTime類的物件表示的時間是基於格林威治標準時間(GMT)的。 CTime表示的日期上限是3000年12月31日,下限是1970年1月1

C# 連線 Oracle 資料庫(方式OracleClient、ODBC、OLEDB)

1、OracleClient //基於.NET 2.0,只有2.0中包含OracleClient using System; using System.Collections; using System.ComponentModel; using System.Data;

c#獲取系統資訊的幾方式

1.Environment 這個沒什麼好說的,最簡單的方法 //提供有關當前環境和平臺的資訊以及操作它們的方法。此類不能被繼承。 //獲取或設定當前工作目錄的完全限定路徑。 public static string CurrentDir

C# 獲取CPU 溫度 的兩方式

上次接手了一個需要對伺服器的檢測系統軟體,但是在獲取CPU溫度的時候總是出問題,查找了很多的資料,總結了以下兩種方法,是比較常見的 //第一種方法 就是傳統的 wimi 方式獲取 ,需要引進一個名稱空間  using System.Management;  public s

爬蟲---獲取網頁資料的幾方式

1.post方式(有道詞典) # -*- coding:utf-8 -*- import urllib import urllib2 url = 'http://fanyi.youdao.com/

3、獲取Class物件的方式

3、獲取Class物件的三種方式 要想對位元組碼檔案進行解刨,必須要有位元組碼檔案物件 Object類中的getClass方法 通過物件靜態屬性 .class來獲取對應的Class物件 只要通過給定類的字串名稱就可以獲取該類,更為拓展 3.1 方式一:Object類中的getClass

java 反射(一) 獲取Class物件的方式

package com.reflect; /** * 三種獲得Class物件的方式 * @author lr * */ public class Demo1 { public static void main(String[] args) throws ClassNotFound

Java反射的定義以及獲取class物件的方式

1、什麼是反射技術? java反射機制是在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意一個方法和屬性。 應用程式已經執行,無法在其中進行new物件的建立,就無法使用物件。這時可以根據配置檔案的類全名去找對應的位元組碼檔案(class檔案)

python爬蟲之定位網頁元素的方式

python爬蟲之定位網頁元素的三種方式 2018年08月02日 13:30:02 Barry__ 閱讀數:1373 標籤: python 更多 個人分類: python 版權宣告:本文為博主原創文章,轉載請註明出處 https://blog

Java反射之獲取Class物件的方式

package cn.itcast.reflect.demo; import cn.itcast.bean.Person; /* * JAVA反射機制是在執行狀態中,對於任意一個類 (class檔案),都能夠知道這個類的所有屬性和方法; * 對於任意一個物件,都能夠呼叫它的任意一個方法

java獲取反射機制的方式

java 獲取反射常使用的三種方式:1.通過new物件實現反射機制2.通過路徑實現反射機制3.通過類名實現反射機制例子:建立一個學生類:public class Student { private int id; String name; protected boole

java 反射之獲取class物件的方式

獲取Class檔案物件有3種方法:    1.Object類的getClass()方法     2.資料型別中的靜態變數 類名.Class     3.Class類中的靜態方法         pub

(六)、獲取Keystone token的方式

讓我們粗略看一下,三種從Keystone獲得token的方式。在嘗試這三種方式之前,你得確保已經裝好Keystone終端。如果還沒有裝好,可以看grizzly安裝版本的Keystone 安裝部分。 Note:這些呼叫都將請求的是Keystone v2版本