| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package xnet
- import (
- "gcore/core"
- "github.com/zellyn/kooky/chrome"
- "log"
- "net/http"
- "os"
- "path/filepath"
- "strings"
- )
- // @title LoadChromeCookies
- // @description 从本地chrome路径加载指定domain的cookies
- // @param domain string 需要提起cookie的domain
- // @return
- func LoadChromeCookies(domain string) ([]*http.Cookie, error) {
- var cookies []*http.Cookie
- cookiesName := "Cookies"
- userHomeDir, _ := os.UserHomeDir()
- defaultPath := "AppData/Local/Google/Chrome/User Data/Default/"
- cookiesFile := filepath.Join(userHomeDir, defaultPath, cookiesName)
- exist, _ := core.FileExists(cookiesFile)
- if exist == false {
- cookiesFile = filepath.Join(userHomeDir, defaultPath, "Network", cookiesName)
- }
- println(cookiesFile)
- chromeCookies, err := chrome.ReadCookies(cookiesFile)
- if err != nil {
- log.Printf("ReadCookies error : %v\n", err)
- return cookies, err
- }
- for _, cookie := range chromeCookies {
- if strings.Contains(cookie.Domain, domain) == true {
- //fmt.Println(cookie)
- cookies = append(cookies, &http.Cookie{
- Name: cookie.Name,
- Value: cookie.Value,
- Path: cookie.Path,
- Domain: cookie.Domain,
- Expires: cookie.Expires,
- })
- }
- }
- return cookies, nil
- }
- // @title LoadChromeCookiesVer1
- // @description 从本地chrome路径加载指定domain的cookies
- // @param domain string 需要提起cookie的domain
- // @return
- func LoadChromeCookiesVer1(domain, cookiesPath string) ([]*http.Cookie, error) {
- var cookies []*http.Cookie
- chromeCookies, err := chrome.ReadCookies(cookiesPath)
- if err != nil {
- log.Printf("ReadCookies error : %v\n", err)
- return cookies, err
- }
- for _, cookie := range chromeCookies {
- if strings.Contains(cookie.Domain, domain) == true {
- //fmt.Println(cookie)
- cookies = append(cookies, &http.Cookie{
- Name: cookie.Name,
- Value: cookie.Value,
- Path: cookie.Path,
- Domain: cookie.Domain,
- Expires: cookie.Expires,
- })
- }
- }
- return cookies, nil
- }
|