C\#Winform 프로그램 을 사용 하여 웹 소스 파일 을 가 져 오 는 해결 방법
우선 이름 공간 도입
using System.IO;
using System.Net;
WebClient MyWebClient = new WebClient();
MyWebClient.Credentials = CredentialCache.DefaultCredentials;// Internet
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\#웹 페이지 원본 코드 를 가 져 오 는 코드 예.C\#지정 한 웹 페이지 HTML 원본 코드 를 가 져 오 면 사용 할 수 있 습 니 다:WebClient WebRequest HttpWebRequest 세 가지 방식.
물론 웹 브 라 우 저 를 사용 할 수도 있 고 관심 있 는 친 구 는 스스로 연구 할 수 있 습 니 다.
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,웹 요청 방식
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"은 지정 한 웹 페이지 의 인 코딩 과 대응 해 야 합 니 다.총결산
HttpWebRequest 방식 이 가장 복잡 하지만 더 많은 선택성 을 제공 합 니 다.
어떤 사이트 에서 클 라 이언 트 의 UserAgent 를 검색 합 니 다!163.com 과 같이 WebClient WebRequest 방식 으로 가 져 오 면 오류 알림 페이지 의 내용 을 가 져 옵 니 다.
HttpWebRequest 에는 이 문제 가 없습니다.
테스트 환경:WIN 2003+VS 2005+C\#+winForm
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
winformtextbox에 글꼴 크기 증가 또는 감소텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.