Go의 기본 HTTP 인증: 오류 코드 해결
Go로 기본 HTTP 인증을 시도할 때 "지원되지 않음"이라는 오류 메시지가 나타날 수 있습니다. 프로토콜 구성표 ''". 코드를 자세히 살펴보고 이 문제가 발생하는 이유를 살펴보겠습니다.
문제가 있는 코드는 다음과 같습니다.
func basicAuth() string { req, err := http.NewRequest("GET", "mydomain.example", nil)
오류는 "http://" 또는 "https: //" 접두어를 URL에 추가합니다. 이 문제를 해결하려면 코드를 다음과 같이 수정하세요.
func basicAuth() string { req, err := http.NewRequest("GET", "http://mydomain.example", nil)
제공한 URL에 올바른 프로토콜 체계("http" 또는 "https")가 포함되어 있는지 확인하세요.
추가 문제 : 리디렉션
리디렉션과 관련된 잠재적인 함정에 유의하세요. Go-lang은 리디렉션 중에 지정된 헤더를 삭제합니다. 이 문제를 해결하려면 헤더를 다시 추가하는 사용자 정의 리디렉션 정책 기능을 구현하세요.
func redirectPolicyFunc(req *http.Request, via []*http.Request) error{ req.Header.Add("Authorization","Basic " + basicAuth("username1","password123")) return nil }
사용자 정의 리디렉션 정책을 클라이언트에 통합하세요.
client := &http.Client{ CheckRedirect: redirectPolicyFunc, }
이러한 조정을 따르면 Go에서 기본 HTTP 인증을 성공적으로 수행하고 인증 헤더를 잃지 않고 잠재적인 리디렉션을 처리할 수 있습니다.
위 내용은 '지원되지 않는 프로토콜 구성표 '''로 인해 Go HTTP 인증이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!