C#에서 웹 주소가 지정된 HTML 소스를 얻으려면 어떻게해야합니까?C에서 HTML 소스를 다운로드하는 방법
답변
당신은 WebClient class로 파일을 다운로드 할 수 있습니다 : 기본적으로
using System.Net;
//...
using (WebClient client = new WebClient()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it:
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
//...
}
:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
"CMS"방법은 더 최근, MS 웹 사이트
에서 제안하지만 문제가 있었다 해결하기 어렵다, 너비 양쪽 방법 게시
지금 나는 solu 모두를위한
문제 : 당신이이 같은 URL을 사용하는 경우 : 일부 경우에 "www.somesite.it/?p=1500을"당신은 웹 브라우저이 "WWW에 있지만 내부 서버 오류 (500) 를 얻을. somesite.it/?p=1500 "완벽하게 작동합니다.
는 해결 방법 : 매개 변수 (예 쉽습니다) 밖으로 이동해야 , 작업 코드는 다음과 같습니다
using System.Net;
//...
using (WebClient client = new WebClient())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}
여기에 공식 문서 : http://msdn.microsoft.com/en-us/library/system.net.webclient.querystring.aspx
당신은 그것을 얻을 수 있습니다 :
var html = new System.Net.WebClient().DownloadString(siteUrl)
짧고 달콤합니다! Joe Albahari의 예를 읽은 후에 제안을 찾았습니다. LINQPad> 도움말> 새로운 기능 및 캐시 검색. – Colin
var html = new System.Net.WebClient(). DownloadString (siteUrl); // 당신의 클라이언트를 새롭게해야합니다! – user1328350
'WebClient'를'Dispose'합니까? –
이 게시물은 정말 오래된 것입니다.), 다른 솔루션 중 아무도 HttpClient
클래스 인 새롭고 권장 된 방법을 사용하지 않았습니다.
HttpClient
새로운 API로 간주되고 있으며 (특히 비동기의 경우)를 HttpClient
클래스를 사용하는 방법에 대한 자세한 내용은, 당신은 참조 할 수 있습니다에 대한 이전 WebClient
및 WebRequest
string url = "page url";
using (HttpClient client = new HttpClient())
{
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
}
를 교체해야 this question
- 1. ethloader 란 무엇이며 소스를 다운로드하는 방법
- 2. C에서 큰 파일을 프로그래밍 방식으로 다운로드하는 방법
- 3. asp.net을 통해 html 페이지를 다운로드하는 방법
- 4. BlackBerry 응용 프로그램에서 html 파일을 다운로드하는 방법
- 5. HTML 소스를 트리보기로 보시겠습니까?
- 6. HTML 소스를 문자열로 읽으십시오.
- 7. 어떻게 내 html 소스를 gzip합니까
- 8. 페이지 소스를 얻는 방법?
- 9. C에서 HTML 축소 #
- 10. Java에서 파일을 다운로드하는 방법?
- 11. 파일을 PHP로 다운로드하는 방법
- 12. Python에서 다운로드하는 방법
- 13. 대화 상자로 다운로드하는 방법
- 14. edu.mit.sketch.geom 라이브러리를 다운로드하는 방법
- 15. 'wget'을 사용하여 자바 스크립트로 HTML 전체 내용을 다운로드하는 방법
- 16. HTML 5를 사용하여 서버에서 파일에 액세스하여 다운로드하는 방법
- 17. 자바에서 https 주소에서 html 페이지의 소스를 얻는 방법
- 18. 웹에서 HTML 페이지를 다운로드하는 가장 쉬운 방법은 무엇입니까?
- 19. SelectionChangedEvent의 소스를 확인하는 방법
- 20. - HTML의 수정 된 부분을 다운로드하는 방법
- 21. javascript를 사용하여 doc 파일을 다운로드하는 방법
- 22. firebug가 html 소스를 다시 요청하지 못하도록 막습니다.
- 23. 사용자 이름과 암호가 필요한 파일을 다운로드하는 방법
- 24. Objective-C에서 HTML 응답 디코드
- 25. 전체 웹 페이지를 다운로드하는 방법
- 26. 전체 디렉토리 목록을 다운로드하는 방법?
- 27. PHP에서 폴더로 이미지를 다운로드하는 방법
- 28. rar/zipfile을 만들고 다운로드하는 방법
- 29. Google 검색 결과를 다운로드하는 방법?
- 30. asp.net - 서버에서 파일을 다운로드하는 방법
참고 사항 : 더 많은 제어가 필요한 경우 HttpWebRequest 클래스를 살펴보십시오 (예 : 인증을 지정할 수 있음). – Richard
예, HttpWebRequest는 client.UploadData (uriString, "POST", postParamsByteArray)를 사용하여 WebClient를 사용하여 POST 요청을 할 수 있지만 더 많은 제어권을 제공합니다. – CMS
이것 주위에 WebException을 잡는 것이 현명하지 않습니까? 어쩌면 그랬 겠지. 다른 예외 또는 오류를이 메서드로 catch해야합니까? –