웹 페이지 원본 가 져 오기

2354 단어 소스 코드
C\#지정 한 웹 페이지 HTML 원본 코드 가 져 오기 사용 가능 WebClient WebRequest HttpWebRequest 세 가지 방식 으로 이 루어 집 니 다.
물론 웹 브 라 우 저 도 사용 할 수 있 습 니 다!웹 브 라 우 저가 어떻게 얻 었 는 지 연구 하지 않 겠 습 니 다.
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;

}


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;

}


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"은 지정 한 웹 페이지 의 인 코딩 과 대응 해 야 합 니 다.
총결산
HttpWebRequest 방식 이 가장 복잡 한 것 을 볼 수 있 지만 더 많은 선택성 을 제공 합 니 다.
어떤 사이트 에서 클 라 이언 트 의 UserAgent 를 검색 합 니 다!163.com 과 같이 웹 클 라 이언 트 를 사용 하면 WebRequest 방식 으로 가 져 올 때 오류 알림 페이지 내용 을 가 져 옵 니 다.
HttpWebRequest 를 통 해 괜 찮 습 니 다.
원본 다운로드:http://files.cnblogs.com/zjfree/GetHTML.rar
테스트 환경:WIN 2003+VS 2005+C\#+winForm

좋은 웹페이지 즐겨찾기