Go에서 인증된 HTTP 클라이언트 요청
인증이 필요한 HTTP 클라이언트 요청을 만드는 맥락에서 후속 요청이 실패할 때 일반적인 문제가 발생합니다. 401 액세스 거부 오류가 발생했습니다. 이 문제에 대한 Golang 솔루션을 살펴보겠습니다.
제공된 코드 조각에서 클라이언트는 HTTP 기본 인증을 사용하여 서버에 성공적으로 인증하지만 사용자 세부 정보를 검색하기 위한 후속 요청에서 문제에 직면합니다. 이 문제를 해결하기 위한 해결책은 사용자 정의 쿠키 항아리를 만드는 것입니다.
Golang의 HTTP 클라이언트는 쿠키 관리를 자동으로 처리하지 않습니다. HTTP 요청 전반에 걸쳐 쿠키를 저장하고 관리하려면 쿠키 항아리가 필요합니다. 아래 코드는 사용자 정의 쿠키 jar 구현을 정의합니다.
type myjar struct { jar map[string] []*http.Cookie } func (p* myjar) SetCookies(u *url.URL, cookies []*http.Cookie) { p.jar [u.Host] = cookies } func (p *myjar) Cookies(u *url.URL) []*http.Cookie { return p.jar[u.Host] }
주 함수에서는 사용자 정의 쿠키 jar를 초기화하고 이를 클라이언트의 Jar 필드에 할당합니다.
jar := &myjar{} jar.jar = make(map[string] []*http.Cookie) client.Jar = jar
이러한 변경으로 인해 Golang은 인증된 HTTP 요청 전반에 걸쳐 쿠키를 성공적으로 관리할 수 있습니다. 이제 클라이언트는 인증된 세션과 연결된 쿠키를 후속 요청에 자동으로 첨부하여 세부정보 요청이 401 오류 없이 올바르게 처리되도록 합니다.
위 내용은 Go에서 인증된 HTTP 클라이언트 요청에 대한 쿠키를 관리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!