РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1061 of 1593 menu

Функция http.SetCookie

Функция http.SetCookie добавляет заголовок Set-Cookie к HTTP-ответу, чтобы установить cookie в браузере клиента. Первый параметр принимает http.ResponseWriter - объект для формирования ответа. Второй параметр принимает указатель на структуру http.Cookie, содержащую имя и значение cookie, а также дополнительные атрибуты.

Синтаксис

http.SetCookie(w http.ResponseWriter, cookie *http.Cookie)

Пример

Давайте установим простой cookie с именем "username" и значением "gopher":

package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/set", func(w http.ResponseWriter, r *http.Request) { cookie := &http.Cookie{ Name: "username", Value: "gopher", } http.SetCookie(w, cookie) fmt.Fprintln(w, "Cookie установлен") }) http.ListenAndServe(":8080", nil) }

После вызова http.SetCookie в заголовках ответа появится строка:

Set-Cookie: username=gopher

Пример

Давайте установим cookie с дополнительными атрибутами MaxAge и HttpOnly:

package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/set", func(w http.ResponseWriter, r *http.Request) { cookie := &http.Cookie{ Name: "session", Value: "abc123", Path: "/", MaxAge: 3600, HttpOnly: true, Secure: true, } http.SetCookie(w, cookie) fmt.Fprintln(w, "Сессия создана") }) http.ListenAndServe(":8080", nil) }

Результат выполнения кода:

"Set-Cookie: session=abc123; Path=/; Max-Age=3600; HttpOnly; Secure"

Пример

Давайте установим несколько cookie в одном ответе:

package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/set", func(w http.ResponseWriter, r *http.Request) { cookie1 := &http.Cookie{ Name: "lang", Value: "ru", } cookie2 := &http.Cookie{ Name: "theme", Value: "dark", } http.SetCookie(w, cookie1) http.SetCookie(w, cookie2) fmt.Fprintln(w, "Несколько cookie установлены") }) http.ListenAndServe(":8080", nil) }

Результат выполнения кода:

"Set-Cookie: lang=ru" "Set-Cookie: theme=dark"

Смотрите также

  • функцию Request.Cookie,
    которая возвращает cookie по имени из запроса
  • функцию Request.Cookies,
    которая возвращает все cookie из запроса
  • метод Request.AddCookie,
    который добавляет cookie к запросу
  • структуру http.Cookie,
    которая представляет cookie в HTTP
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить