HttpClient 자격 증명 문제 디버깅
HttpClient가 요청과 함께 인증 세부정보를 보내지 않아 서버에서 인증이 실패합니다. WebClient가 예상대로 작동하지만 HttpClient가 실패합니다. 근본 원인을 파악하고 해결해보겠습니다.
이미 UseDefaultCredentials
을 true
으로 설정하셨습니다. 그러나 이것이 항상 충분하지는 않습니다. 시스템에는 올바른 자격 증명이 필요합니다.
이 문제를 해결하는 방법은 다음과 같습니다.
HttpClientHandler
을 사용하여 자격 증명을 명시적으로 정의하려면 CredentialCache.DefaultCredentials
을 사용하세요.<code class="language-csharp">var myClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true, Credentials = CredentialCache.DefaultCredentials });</code>
이렇게 하면 HttpClient가 기본 시스템 자격 증명을 활용하여 WebClient의 동작을 미러링하게 됩니다. 이렇게 하면 웹 애플리케이션에 요청하는 동안 적절한 사용자 가장이 보장됩니다.
위 내용은 내 HttpClient가 자격 증명을 전달하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!