首頁  >  文章  >  微信小程式  >  小程式開發之如何使用cookiejar記住帳號

小程式開發之如何使用cookiejar記住帳號

Y2J
Y2J原創
2017-04-27 13:06:373097瀏覽

瀏覽器是沒有狀態的,瀏覽器只有cookie,session在客戶端也是cookie。如果想讓機器人記住帳號/密碼實現自動登陸,問題就演變成讓其記住Cookie。

記住Cookie在golang中是極簡單的。

最近我們寫營運機器人,有一個兄弟實現了微信帳號的自動登陸,簡單翻了翻源碼,發現是使用cookiejar實現的。

cookiejar:The net/http/cookiejar package provides a CookieJar implementation.

cookiejar在golang來源碼中極為簡單:

type CookieJar interface {
//设置cookie        SetCookies(u *url.URL, cookies []*Cookie)
//取cookie        Cookies(u *url.URL) []*Cookie}
核心代码:
wechat.BaseURL = cached[`baseURL`].(string)
wechat.BaseRequest = cached[`baseRequest`].(*BaseRequest)
cookies := cached[`cookies`].([]*http.Cookie)
u, ue := url.Parse(wechat.BaseURL)
if ue != nil {
return ue
}

wechat.Client.Jar.SetCookies(u , cookies)

其中cached是從硬碟上讀取的json序列數據,cached[`cookies`]是先前登陸之後寫入的快取。而wechat.Client是一個標準的http.Client:

type WeChat struct {
Client      *http.Client
}

在一個程式週期內重複使用同一個http.Client,或是將Cookie寫進硬碟或資料庫,下次重新啟動的時候重複使用。以此便實現了帳號的自動登陸。

以上是小程式開發之如何使用cookiejar記住帳號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn