> 백엔드 개발 > Golang > '지원되지 않는 프로토콜 구성표 '''로 인해 Go HTTP 인증이 실패하는 이유는 무엇입니까?

'지원되지 않는 프로토콜 구성표 '''로 인해 Go HTTP 인증이 실패하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-21 11:02:11
원래의
246명이 탐색했습니다.

Why Does Go HTTP Authentication Fail with

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿