MCPcopy Create free account
hub / github.com/LagrangeDev/LagrangeGo / GetSkey

Method GetSkey

client/ticket.go:47–71  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

45}
46
47func (c *QQClient) GetSkey() (string, error) {
48 if time.Now().Before(c.ticket.sKey.expireTime) {
49 return c.ticket.sKey.key, nil
50 }
51 clientKey, err := c.FetchClientKey()
52 if err != nil {
53 return "", err
54 }
55 jump := "https%3A%2F%2Fh5.qzone.qq.com%2Fqqnt%2Fqzoneinpcqq%2Ffriend%3Frefresh%3D0%26clientuin%3D0%26darkMode%3D0&keyindex=19&random=2599"
56 u, _ := url.Parse(fmt.Sprintf("https://ssl.ptlogin2.qq.com/jump?ptlang=1033&clientuin=%d&clientkey=%s&u1=%s",
57 c.Uin, clientKey, jump))
58 resp, err := c.ticket.client.Get(u.String())
59 if err != nil {
60 return "", err
61 }
62 resp.Body.Close()
63 for _, cookie := range c.ticket.client.Jar.Cookies(u) {
64 if cookie.Name == "skey" {
65 c.ticket.sKey.key = cookie.Value
66 c.ticket.sKey.expireTime = time.Now().Add(24 * time.Hour)
67 break
68 }
69 }
70 return c.ticket.sKey.key, nil
71}
72
73func (c *QQClient) GetCsrfToken() (int, error) {
74 skey, err := c.GetSkey()

Callers 2

GetCsrfTokenMethod · 0.95
GetCookiesMethod · 0.95

Calls 3

FetchClientKeyMethod · 0.95
StringMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected