登录
首页 >  Golang >  Go问答

在 localhost 端口上使用共享 cookie 进行访问

来源:stackoverflow

时间:2024-02-11 08:24:27 285浏览 收藏

本篇文章向大家介绍《在 localhost 端口上使用共享 cookie 进行访问》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我想向共享不同端口的客户端添加一个 cookie(我在端口 a 上开发一个后端,在端口 b 上开发一个前端应用程序,两者都在本地主机上运行)。

所以我做了两个最小的服务器来测试,提供了一个简单的会话链接:

func newClient() {
    mux := http.NewServeMux()
    mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Println(r.Host)
        fmt.Fprintf(w, `
            Session
         `)
    })
    http.ListenAndServe("localhost:4000", mux)
}

func newServer() {
    mux := http.NewServeMux()
    mux.HandleFunc("/session", func(w http.ResponseWriter, r *http.Request) {
        cookie := http.Cookie{
            Name:     "Foo",
            Value:    "Bar",
            HttpOnly: true,
        }
        r.AddCookie(&cookie)
    })
    http.ListenAndServe("localhost:5000", mux)
}

不幸的是,当我单击会话引用时,客户端上未设置 cookie。

谁能给我解释一下为什么吗?看起来两者都在同一个域(localhost)上运行。


正确答案


回答我自己的问题

正如其他人所指出的;在这种情况下,主机并不重要。然而,我只是缺少 SetCookie 来设置 writer cookie:

r.AddCookie(&cookie)
http.SetCookie(w, &cookie)

好了,本文到此结束,带大家了解了《在 localhost 端口上使用共享 cookie 进行访问》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>