0

권한 부여 (NTLM/BASIC)로 GET/POST 요청을하려고합니다. 코드는 모든 GET 요청에 대해 정상적으로 작동하지만 POST 요청에 대해서는 401 권한이 없습니다.PUT에 대해 ASP.NET 권한 부여 (NTLM/BASIC)가 실패하지만 GET에 작동합니다.

내 코드 : PUT 요청에 코드 실행되고 무엇

NetworkCredential credential = new NetworkCredential(user, password); 
var myCache = new CredentialCache 
{ 
    { uri, auth, credential } // auth = "BASIC" or "NTLM" 
}; 

var handler = new HttpClientHandler 
{ 
    AllowAutoRedirect = true, 
    PreAuthenticate = true, 
    Credentials = myCache 
}; 
HttpClient httpClient = new HttpClient(handler); 
... 
StringContent content = new StringContent(bodyText); 
httpClient.PostAsync(uri, content).Result; // returns 401 
+0

서버가 POST 요청을 허용합니까? –

+0

@AlekDepler, 예, 서버에서 게시 요청을 허용합니다. –

답변

0

? 사용중인 사용자 이름/암호 조합에 실제로 자원에 대한 쓰기 액세스가 없으므로 승인되지 않은 오류가 발생했을 가능성이 있습니다.

PUT 호출을받는 코드에 액세스 할 수있는 경우 쓰기를 시도하는 파일/폴더를 확인하십시오. 그렇지 않은 경우 해당 서비스를 소유 한 사람들에게 연락하여 그들이 왜 실패하는지 질문하십시오.

+0

PUT 요청을 수신하는 코드에 액세스 할 수 없지만 자격 증명이 100 % 정확하며 필요한 액세스 수준이 –

+0

서버에 대한 액세스 권한이 있습니까? IIS 인 경우 실패한 요청 추적을 사용하여 오류가 무엇인지 확인할 수 있습니다. Apache 인 경우 오류 로그 파일을 확인하십시오. – netniV

관련 문제