HttpWebRequest 기본 인증 문제 해결
이 문서에서는 기본 인증과 함께 HttpWebRequest
을(를) 사용할 때 발생하는 일반적인 문제를 다룹니다. "기본 연결이 닫혔습니다. 전송 시 예기치 않은 오류가 발생했습니다." 이 오류는 기본 인증 처리와의 충돌로 인해 자주 발생합니다.
해결책은 기본 메커니즘을 우회하고 Authorization
헤더를 직접 관리하는 것입니다. 이 헤더에는 인증 방법("기본")과 base64로 인코딩된 자격 증명이 필요합니다.
이를 구현하는 방법은 다음과 같습니다.
<code class="language-csharp">var username = "abc"; var password = "123"; string encoded = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1") .GetBytes(username + ":" + password)); httpWebRequest.Headers.Add("Authorization", "Basic " + encoded);</code>
이 코드 조각은 사용자 이름과 비밀번호를 가져와 ISO-8859-1 인코딩과 함께 base64를 사용하여 인코딩한 다음(서버와의 호환성을 보장하기 위해) 결과 문자열을 Authorization
의 HttpWebRequest
헤더에 추가합니다. 이를 통해 요청이 적절하게 인증되어 연결이 종료되는 것을 방지하고 성공적인 통신이 가능해집니다. 많은 인증 실패를 해결하려면 ISO-8859-1 인코딩을 사용하는 것이 중요합니다. 헤더를 수동으로 설정하면 애플리케이션이 기본 인증 프로세스에서 발생할 수 있는 문제를 방지할 수 있습니다.
위 내용은 HttpWebRequest 기본 인증에서 '기본 연결이 닫혔습니다' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!