2011-05-14 2 views
1

웹 페이지를 다운로드해야하는 응용 프로그램을 작성 중입니다. 내가 HTML 얻기 위해이 코드 체계를 사용하지만 : http://www.jamejamonline.ir/webrequest 오류 페이지가 나타나지만 브라우저가 올바른 페이지가됩니다.

난이 방법으로 페이지를 얻으려고 페이지, 을 오류로 리디렉션하지만 :

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);     
HttpWebResponse response = (HttpWebResponse)request.GetResponse();     

System.IO.Stream data = response.GetResponseStream(); 
System.IO.StreamReader reader = new System.IO.StreamReader(data, true); 
string htmlCode = reader.ReadToEnd(); 

이 사이트의 URL에 문제가 모든 웹 브라우저가 올바른 html 페이지를 보여줍니다.

어떻게이 문제를 해결할 수 있습니까?

+0

오류 페이지의 내용은 무엇입니까? 사이트에서 쿠키가 필요합니까? – Oded

+0

WebClient.DownloadString() 메서드 –

+0

을 사용하면 적은 코드로이 작업을 수행 할 수 있습니다. 오류 페이지 : "사이트에 오류가 있습니다. 나중에 다시 시도하십시오." – Hamed

답변

0

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); 
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";     
HttpWebResponse response = (HttpWebResponse)request.GetResponse();     

System.IO.Stream data = response.GetResponseStream(); 
System.IO.StreamReader reader = new System.IO.StreamReader(data, true); 
string htmlCode = reader.ReadToEnd(); 

같은 사용자 에이전트를 지정 나는 그것을 시도하고 일 : 당신이 요청을 만들 경우 줄 뒤에이 줄을 추가하십시오!

+0

그것이 효과가 있습니다. 고마워. (دمت گرم) – Hamed

+0

당신을 환영합니다, (چاکریم) – mrbm

0

사용자가 보여준 코드 조각에 요청 방법이없는 것 같습니다.

request.Method = WebRequestMethods.Http.Get 
+0

request.Method의 기본값은 "Get" – Hamed

+0

오류입니다. 페이지 : "사이트에 오류가 있습니다. 나중에 다시 시도하십시오." – Hamed

관련 문제