gpt4 book ai didi

go - 由于字符无效,无法将 cookie 加载到 cookiejar 中

转载 作者:数据小太阳 更新时间:2023-10-29 03:36:14 31 4
gpt4 key购买 nike

我正在尝试将 cookie 添加到持久存储并检索它以解析需要登录的站点。

我正在从 extension 中获取我的 cookie并使用 juju cookiejar 将其添加到我的 cookiejar 中从 env vars 读取默认的 cookie 文件,但我不断收到错误 cannot load cookies: invalid character 'c' looking for beginning of value c-代表txt文件中的第一个字符。我想知道我是否正确解析了这个。

<!-- language: lang-go -->
func main(){
jujujar, err := cookiejar.New(&cookiejar.Options{
Filename: cookiejar.DefaultCookieFile(),
})

if err != nil {
panic(err)
}

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

response, err := client.Get("https://example.com/categories/ProductList.aspx?Category=someCategories")

if err != nil {
panic(err)
}

query, err := goquery.NewDocumentFromResponse(response)
if err != nil {
panic(err)
}

myQuery := query.Find("body a").Each(func(index int, item *goquery.Selection) {
linkTag := item
link, _ := linkTag.Attr("href")
linkText := linkTag.Text()
fmt.Printf("Link #%d: '%s' - '%s'\n", index, linkText, link)
})

fmt.Print(myQuery)

}

更新,看起来库正在寻找 Json 数据:

// mergeFrom reads all the cookies from r and stores them in the Jar.
func (j *Jar) mergeFrom(r io.Reader) error {
decoder := json.NewDecoder(r)
// Cope with old cookiejar format by just discarding
// cookies, but still return an error if it's invalid JSON.
var data json.RawMessage
if err := decoder.Decode(&data); err != nil {
if err == io.EOF {
// Empty file.
return nil
}
return err
}
var entries []entry
if err := json.Unmarshal(data, &entries); err != nil {
log.Printf("warning: discarding cookies in invalid format (error: %v)", err)
return nil
}
j.merge(entries)
return nil
}

最佳答案

Juju 希望 cookie 以 JSON 格式保存:

https://github.com/juju/persistent-cookiejar/blob/master/serialize.go

JSON 需要反序列化为此处定义的[]entry:

https://github.com/juju/persistent-cookiejar/blob/master/jar.go#L140

该插件似乎以这种格式保存 cookie:

[domain]/[true or false]/[true or false]/[Epoch date/time]/[name]/[content]

不确定是真是假,但你基本上需要解析这些行并将它们映射到你自己的 Entry 结构(因为它们没有导出) - 你可以使用带有自定义分隔符的 CSV 解析器,然后将其序列化为 JSON,然后使用您创建的 JSON 传递给 Juju。

关于go - 由于字符无效,无法将 cookie 加载到 cookiejar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693680/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com