2014-06-12 6 views
0

이 문제와 관련하여 여러 가지 게시물을 검토했지만 적절한 답변을 얻지 못했습니다. 어쩌면 내가 적절한 링크를 통과하지 못했을 수도 있습니다. 여기 내 질문입니다. HttpWebRequest를 사용하고 열려있는 링크를 요청하려고하면 코드가 완벽하게 작동하지만 보안 링크를 요청하려고하면 원격 서버가 오류를 반환하고 인증이 필요하다는 것을 보여줍니다. 401.HttpWebResponse를 사용할 때 원격 서버가 C#에서 오류를 반환했습니다.

나는 이것을 요청하려고 할 때 link. 그것은 완벽하게 작동합니다. 하지만 보안 링크에 액세스하려고하면 오류가 표시됩니다. 다음 코드에서이를 확인할 수 있습니다.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.securedlink.com/fileupload.php"); 
      HttpHeader a = Config.GetCred; 
      request.Headers[a.Key] = a.Value; 
      request.Method = "POST"; 
      request.Credentials = new NetworkCredential("username", "pswd"); 

      request.BeginGetRequestStream 
      ((result => 
       { 
        using (Stream requestStream = request.EndGetRequestStream(result)) 
        { 
         using (StreamWriter writer = new StreamWriter(requestStream)) 
         { 
          writer.Write(str); 
          writer.Flush(); 
         } 
        } 

        request.BeginGetResponse((responseResult => 
         { 
          try 
          { 

           var webResponse = (HttpWebResponse)request.EndGetResponse(responseResult); 
           using (var responseStream = webResponse.GetResponseStream()) 
           { 
            using (var streamReader = new StreamReader(responseStream)) 
            { 
             string srresult = streamReader.ReadToEnd(); 
             Debug.WriteLine(srresult); 
            } 
           } 
          } 
          catch (WebException ex)  // Remote server returned an error 
          { 
           using (StreamReader reader = new StreamReader(ex.Response.GetResponseStream())) 
           { 
            string ssresult = reader.ReadToEnd(); 
            Debug.WriteLine(ssresult); // ssresult shows Authorization Required. 

           } 
          } 
         }), null); 

       }), null); 

답변

0

죄송합니다. 언급했듯이, 나는 이것을 통해 이동하는 것을 잊지 link. 그 질문에 언급 된대로 헤더를 통과하고 모든 것이 잘 작동합니다. 고맙습니다. :)

관련 문제