HTTP 요청을 처리할 때 쿠키가 포함된 리디렉션을 만나는 것이 일반적입니다. 기본 동작은 리디렉션 중에 쿠키를 삭제하는 것이므로 Golang을 사용할 때 문제가 됩니다. 이 문제를 극복하기 위해 Go 1.1에 도입된 net/http/cookiejar 패키지를 활용할 수 있습니다.
cookiejar 패키지를 사용하면 수신된 쿠키를 보존하면서 자동으로 리디렉션을 따르도록 클라이언트를 구성할 수 있습니다. 이를 달성하려면:
다음은 예시입니다.
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } client := http.Client{Jar: jar} resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } log.Println(string(data)) }</code>
이 접근 방식을 사용하면 Go 클라이언트가 자동으로 리디렉션을 따르고 수신된 요청을 유지합니다. COOKIEFILE, AUTOREFERER 및 FOLLOWLOCATION을 설정할 때 cURL의 동작과 유사한 쿠키.
위 내용은 Go에서 쿠키를 사용하여 리디렉션을 따르는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!