Go의 기본 HTTP 인증: 리디렉션 문제 해결
제공된 코드를 사용하여 Go에서 기본 HTTP 인증을 시도할 때 개발자에게 오류가 발생할 수 있습니다. : "지원되지 않는 프로토콜 구성표 ""." 이 오류는 리디렉션 처리로 인해 발생할 수 있습니다.
확인 및 해결
웹사이트가 리디렉션을 수행할 때 미묘함이 발생합니다. Go에서는 리디렉션 중에 원래 요청에 지정된 사용자 정의 헤더가 손실됩니다. 이 문제를 해결하려면 헤더를 복원하는 사용자 정의 리디렉션 기능을 정의해야 합니다.
사용자 정의 리디렉션 기능으로 업데이트된 코드
다음 코드 조각은 다음을 포함하는 업데이트된 스크립트를 보여줍니다. 리디렉션 기능:
func basicAuth(username, password string) string { auth := username + ":" + password return base64.StdEncoding.EncodeToString([]byte(auth)) } func redirectPolicyFunc(req *http.Request, via []*http.Request) error{ req.Header.Add("Authorization","Basic " + basicAuth("username1","password123")) return nil } func main() { client := &http.Client{ Jar: cookieJar, CheckRedirect: redirectPolicyFunc, } req, err := http.NewRequest("GET", "http://localhost/", nil) req.Header.Add("Authorization","Basic " + basicAuth("username1","password123")) resp, err := client.Do(req) }
이 수정을 통해 사용자 정의 리디렉션 기능은 인증 헤더가 후속 리디렉션 요청에 추가되어 오류를 해결하고 HTTP 인증을 활성화하도록 합니다.
위 내용은 Go에서 기본 HTTP 인증 중 "지원되지 않는 프로토콜 체계" 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!