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

Y2J
發布: 2017-04-27 13:06:37
原創
3087 人瀏覽過

瀏覽器是沒有狀態的,瀏覽器只有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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板