HTTP 요청이 쿠키와 함께 302 리디렉션을 트리거하면 Go 클라이언트가 새로운 리디렉션을 따르도록 하는 데 어려움을 겪을 수 있습니다. 쿠키를 유지하는 동안 위치. 이 기사에서는 널리 사용되는 명령줄 도구인 cURL에서 영감을 얻어 이 문제에 대한 솔루션을 탐색합니다.
Go에서 HTTP 리디렉션을 따르도록 클라이언트를 구성하는 방법은 무엇입니까? cURL의 설정과 유사하게 수신된 쿠키를 전달합니까?
Go 모듈 소개 net/http/cookiejar를 프로젝트에 추가하세요. 이 패키지는 효과적인 쿠키 처리 기능을 제공합니다. 다음은 사용법을 보여주는 예입니다.
package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Create a CookieJar with customizable options. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Instantiate an HTTP Client with the CookieJar attached. client := http.Client{Jar: jar} // Execute an HTTP request that includes a cookie. resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } // Read the response body. data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } // Print the response body, which ideally contains unique information set by the PHP script on the server. log.Println(string(data)) }
이 솔루션은 CookieJar를 활용하여 요청 간에 쿠키를 저장하고 전송함으로써 cURL의 기능을 에뮬레이트합니다. 클라이언트가 쿠키가 포함된 302 리디렉션을 발견하면 쿠키 기반 세션을 유지하면서 자동으로 새 위치를 따릅니다.
위 내용은 cURL과 유사하게 쿠키를 유지하면서 Go 클라이언트가 HTTP 리디렉션을 따르도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!