2010-01-10 4 views
10

특정 웹 페이지의 html 코드를 가져 오려고합니다. 올바른 사용자 이름과 암호를 가지고 있는데도 여전히 작동하지 않습니다. 원격 서버에서 오류를 반환했습니다. (401) 승인되지 않음

:

String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); 

나는 예외를 얻을 :

private void buttondownloadfile_Click(object sender, EventArgs e) 
{ 
    NetworkCredentials nc = new NetworkCredentials("?", "?", "http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); 
    WebClient client = new WebClient(); 

    client.Credentials = nc; 
    String htmlCode = client.DownloadString("http://cdrs.globalpopsvoip.com/0000069/20091229/20091228_20091228.CDR"); 

    MessageBox.Show(htmlCode); 
} 

이 메시지 박스는 단지 문제는 내가이 선에 도달 할 때마다이 있다는 것입니다, 을 테스트하는 것입니다 : 이것은 내 코드입니다

The remote server returned an error: (401) Unauthorized.

어떻게 수정합니까?

답변

3

는 도메인 부분이없는 NetworkCredential를 만들어보십시오 :

NetworkCredential nc = new NetworkCredential("?", "?"); 
+0

덕분에 나를 위해 일했습니다 –

6

나는 다음 코드를 시도하며 노력하고 있습니다.

private void Form1_Load(object sender, EventArgs e)   
    { 
     try 
     { 
      // Create Request 
      HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://192.168.0.181/axis-cgi/com/ptz.cgi?move=up"); 

      // Create Client 
      WebClient client = new WebClient(); 

      // Assign Credentials 
      client.Credentials = new NetworkCredential("root", "a"); 

      // Grab Data 
      string htmlCode = client.DownloadString(@"http://192.160.0.1/axis-cgi/com/ptz.cgi?move=up"); 

      // Display Data 
      MessageBox.Show(htmlCode); 
     } 
     catch (WebException ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
    } 
+0

정말 작동 ... 완벽! :) 덕분에 라 하트 톤 :) – Bravo

+12

HttpWebRequest의 요점은 무엇입니까? – Nacht

13

내 경우에는 client.UseDefaultCredentials = true; 트릭을했습니다.

관련 문제