【问题标题】:Parsing set-cookie header in go在 go 中解析 set-cookie 标头
【发布时间】:2019-07-04 17:05:25
【问题描述】:

我想将 POST 请求返回的 cookie 解析到 cookie 罐中,但我找不到任何关于此的文档。那里有一些好的包裹吗?或者我该怎么做?

编辑:它不是重复的。我问的是解析set-cookie返回的cookie,而不是仅仅通过发送来发送cookie。

【问题讨论】:

  • net/http.Request.Cookies 满足您的所有需求,那么问题是什么?
  • 另外:解析 Set-Cookie HTTP 标头本身对添加到 cookie jar 没有太大帮助。

标签: parsing go cookies


【解决方案1】:

不希望您手动构建 cookie jar。而是在发出请求时将http.CookieJar 接口传递给http.Client,cookie 将自动为您处理。

更多信息在this SO answer

基本上你会在这里使用 http 客户端和 cookiejar 实现: https://golang.org/pkg/net/http/cookiejar/

要做这样的事情:

// All users of cookiejar should import "golang.org/x/net/publicsuffix"
jar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
if err != nil {
        log.Fatal(err)
}

client := &http.Client{
        Jar: jar,
}

示例取自此处: https://golang.org/pkg/net/http/cookiejar/#example_New

【讨论】:

  • 我这样做了,cookie jar 在请求后不返回任何 cookie。
  • @gevageyo 如果你有一些代码不起作用,你最好在问题中告诉我们。瞄准minimal reproducible example。
  • 有什么方法可以调试 jar 以查看里面的所有 cookie 吗?
  • 我认为这是 cookiejar 实现的问题。看到这个:jcla1.com/blog/improving-go-cookie-handling
【解决方案2】:

需要 HTTP/S 调用才能使用 cookieJar,尝试将 URL.Scheme 设置为 HTTP。应该工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多