2015-01-21 2 views
3

Я установил файл cookie и вижу его в своем браузере. Я все равно не смог его удалить. Что я пробовал:Как удалить cookie в Go

deleteCookie, _ := r.Cookie("login") 
deleteCookie.Value = "" 
deleteCookie.MaxAge = -1 
http.SetCookie(w, deleteCookie) 

Но файл cookie по-прежнему существует с его исходным значением после запуска этого кода.

ответ

3

Попробуйте это:

http.SetCookie(w, &http.Cookie{ 
    Name: "login", 
    MaxAge: -1, 
    Expires: time.Now().Add(-100 * time.Hour),// Set expires for older versions of IE 
    Path: pathUsedToSetCookie, 
}) 

где pathUsedToSetCookie является то, что путь, который вы использовали для создания оригинального печенья.

Не используйте повторно cookie-запрос. Поле «Имя» является единственным полем, которое вам нужно, из файла cookie запроса, но вы уже знаете это.

+0

Да, это сделал трюк. Даже просто добавление пути в мой код работало также, хотя я вроде как ваша реализация лучше. Благодаря! – Tyler

+2

Код в вопросе не обрабатывает случай, когда клиент не отправил файл cookie. Создание нового файла cookie проще. –

Смежные вопросы