>백엔드 개발 >Golang >Go에서 쿠키를 사용하여 리디렉션을 따르는 방법은 무엇입니까?

Go에서 쿠키를 사용하여 리디렉션을 따르는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-06 02:34:02691검색

How to Follow Redirections with Cookies in Go?

Go에서 쿠키를 사용하여 리디렉션 따르기

HTTP 요청을 처리할 때 쿠키가 포함된 리디렉션을 만나는 것이 일반적입니다. 기본 동작은 리디렉션 중에 쿠키를 삭제하는 것이므로 Golang을 사용할 때 문제가 됩니다. 이 문제를 극복하기 위해 Go 1.1에 도입된 net/http/cookiejar 패키지를 활용할 수 있습니다.

cookiejar 패키지를 사용하면 수신된 쿠키를 보존하면서 자동으로 리디렉션을 따르도록 클라이언트를 구성할 수 있습니다. 이를 달성하려면:

  1. cookiejar.Jar를 생성하여 수신된 쿠키를 저장합니다.
  2. cookiejar.Jar를 http.Client 인스턴스의 Jar 필드로 설정합니다.
  3. 수정된 클라이언트를 사용하여 HTTP 요청을 만듭니다.

다음은 예시입니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.