Golang을 사용하여 HTTP 쿠키를 관리하는 방법은 다음과 같습니다. 쿠키 설정: http.Cookie를 사용하여 이름, 값, 만료 시간, 도메인, 경로, 보안 플래그 및 HttpOnly 플래그를 설정한 다음 http.SetCookie()를 사용하여 추가합니다. 응답 헤더. 쿠키 가져오기: r.Cookie()를 사용하여 특정 이름의 쿠키를 가져오면 해당 값 필드를 사용하여 해당 값에 액세스할 수 있습니다. 쿠키 삭제: 쿠키를 검색한 후 Expires 필드를 과거 시간으로 설정하고 이를 응답 헤더에 추가하면 클라이언트 브라우저에서 쿠키가 삭제됩니다.
Golang을 사용하여 HTTP 쿠키를 관리하는 방법은 무엇입니까?
Golang에서 HTTP 쿠키를 관리하는 일반적인 방법은 net/http 패키지에서 제공하는 API를 사용하는 것입니다. HTTP 쿠키를 설정, 가져오기 및 삭제하는 방법에 대한 단계는 다음과 같습니다.
Set Cookie
package main import ( "fmt" "net/http" "time" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 设置名为 "session_id" 的 cookie,并将它的值设置为 "some-uuid" cookie := &http.Cookie{ Name: "session_id", Value: "some-uuid", } // 设置 cookie 的过期时间 cookie.Expires = time.Now().Add(24 * time.Hour) // 设置 cookie 的域(默认为当前请求的域) cookie.Domain = "example.com" // 设置 cookie 的路径(默认为 "/") cookie.Path = "/" // 设置 cookie 的安全标志(默认为 false) cookie.Secure = true // 设置 cookie 的 HttpOnly 标志(默认为 false) cookie.HttpOnly = true // 将 cookie 添加到响应头上 http.SetCookie(w, cookie) fmt.Fprint(w, "Cookie set successfully") }) http.ListenAndServe(":8080", nil) }
Get Cookie
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 获取名为 "session_id" 的 cookie cookie, err := r.Cookie("session_id") if err != nil { fmt.Fprint(w, "Cookie not found") return } // 打印 cookie 的值 fmt.Fprint(w, "Cookie value:", cookie.Value) }) http.ListenAndServe(":8080", nil) }
Delete Cookie
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 获取名为 "session_id" 的 cookie cookie, err := r.Cookie("session_id") if err != nil { fmt.Fprint(w, "Cookie not found") return } // 设置 cookie 的过期时间为过去,从而删除它 cookie.Expires = time.Now().Add(-1 * time.Second) // 将 cookie 添加到响应头上 http.SetCookie(w, cookie) fmt.Fprint(w, "Cookie deleted successfully") }) http.ListenAndServe(":8080", nil) }
위 내용은 Golang을 사용하여 HTTP 쿠키를 관리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!