Rumah >applet WeChat >Pembangunan program mini >小程序开发之如何使用cookiejar记住帐号

小程序开发之如何使用cookiejar记住帐号

Y2J
Y2Jasal
2017-04-27 13:06:373102semak imbas

浏览器是没有状态的,浏览器只有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写进硬盘或数据库,下次重启的时候复用。以此便实现了帐号的自动登陆。

Atas ialah kandungan terperinci 小程序开发之如何使用cookiejar记住帐号. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn