문제:
리디렉션을 수신할 때(HTTP 코드 302) 응답에 쿠키가 포함된 경우 Go 클라이언트가 수신된 쿠키를 활용하면서 어떻게 새 위치를 따라갈 수 있습니까?
답변:
Go 1.1 이상에서는 net/http/cookiejar 패키지는 이에 대한 솔루션을 제공합니다.
<code class="go">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>
이 코드 조각은 수신된 쿠키를 저장하는 쿠키 jar(jar)를 생성하여 CURL의 쿠키 기반 위치 추적 동작을 효과적으로 에뮬레이트합니다. 클라이언트가 리디렉션을 따르면 요청과 함께 저장된 쿠키를 전송하여 적절한 권한으로 새 위치에 액세스할 수 있습니다.
위 내용은 Go에서 cURL의 쿠키 기반 위치를 에뮬레이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!