Установить повар ie в js, не могу прочитать в golang - PullRequest
0 голосов
/ 30 апреля 2020

я готовлю 2 повара ie, 1 из golang, 1 из js вот так

Golang

var store = sessions.NewCookieStore([]byte("mysession"))
session, _ := store.Get(request, "mysession")
session.Values["usename"] = username
session.Values["status"] = status
err = session.Save(request, response)
if err != nil {
http.Error(response, err.Error(), http.StatusInternalServerError)
return
}

js

    var now = new Date();
    var time = now.getTime();
    time += 3600 * 1000;
    now.setTime(time);
json_str = JSON.stringify(json_data).toString();
document.cookie = 
    'mycode=' + json_str + 
    '; expires=' + now.toUTCString() + 
    '; path=/';

кок ie отображается при печати запроса:

1014 * Cook ie: [mysession = MTU4ODE0MjQ1NXxEdi1CQkFFQ180SUFBUkFCRUFBQVBmLUNBQUlHYzNSeWFXNW5EQWdBQm5OMFlYUjFjd05wYm5RRUFnQUNCbk4wY21sdVp3d0pBQWQxYzJWdVlXMWxCbk4wY21sdVp3d0ZBQU5oYzJRPXxusqTQsJ68z5ZYx13pDMI1vZWVu0pI_zvWh267DQkRYA ==; mycode = [["200412133557", 11, "6"]]] Реферер: [http://localhost: 3000 / index]

, которые показывают мне 2 повара ie, но когда я хочу, чтобы готовить ie с golang

func Keranjang(response http.ResponseWriter, request *http.Request) {
    cookie1, err := request.Cookie("mysession")
    if err != nil {
        fmt.Printf("Cant find cookie mysession ")
    } else {
        fmt.Printf("mysession found ")
        fmt.Println(cookie1)
    }

    cookie2, err := request.Cookie("mycode")
    if err != nil {
        fmt.Printf("Cant find cookie mycode ")
    } else {
        fmt.Printf("mycode found ")
        fmt.Println(cookie2)
    }

}

Вывод:

1026 * mysession найден mysession = MTU4ODE0MjQ1NXxEdi1CQkFFQ180SUFBUkFCRUFBQVBmLUNBQUlHYzNSeWFXNW5EQWdBQm5OMFlYUjFjd05wYm5RRUFnQUNCbk4wY21sdVp3d0pBQWQxYzJWdVlXMWxCbk4wY21sdVp3d0ZBQU5oYzJRPXxusqTQsJ68z5ZYx13pDMI1vZWVu0pI_zvWh267DQkRYA == Cant найти сварить ie mycode

почему мой второй повар ie не найден?

У меня есть много попыток

*** try1: cookie2, err := request.Cookie(" mycode")

cookie2, err := request.Cookie("mycode=") и тот же самый результат, я ошибаюсь или что-то еще?

*** try2: с сеансом get

var store = sessions.NewCookieStore([]byte("mycode"))
cookie2, err := store.Get(request, "mycode") 

и cook ie 'mycode' найден, вывод - map: & {map [] 0xc000038100 true 0xc000096e80 mycode}, но на карте отсутствует значение ["200412133557", 11, "6"] ?

*** try3: я создаю еще одного повара ie in golang

c.Name = "kuki"
c.Expires = time.Now().Add(5 * time.Minute)
http.SetCookie(response, c)

я печатаю всю готовку ie с fmt.Println(request.Cookies()) выводом:

* 105 1 * [mysession = MTU4ODE0MjQ1NXxEdi1CQkFFQ180SUFBUkFCRUFBQVBmLUNBQUlHYzNSeWFXNW5EQWdBQm5OMFlYUjFjd05wYm5RRUFnQUNCbk4wY21sdVp3d0pBQWQxYzJWdVlXMWxCbk4wY21sdVp3d0ZBQU5oYzJRPXxusqTQsJ68z5ZYx13pDMI1vZWVu0pI_zvWh267DQkRYA == Куки = ] 1055 * сварить ie '' mycode созданный js до сих пор не читаемый, Существуют различные типы JS и Golang печенье?

1 Ответ

0 голосов
/ 01 мая 2020

Наконец, я понял, что HTTP Cook ie in golang не поддерживает "двойные кавычки готовить ie и декодировать в golang decoded, _ := base64.StdEncoding.DecodeString(cookie2.Value)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...