>  기사  >  위챗 애플릿  >  소규모 프로그램 개발에서 Cookiejar를 사용하여 계정을 기억하는 방법

소규모 프로그램 개발에서 Cookiejar를 사용하여 계정을 기억하는 방법

Y2J
Y2J원래의
2017-04-27 13:06:373069검색

브라우저는 상태 비저장이고 브라우저에는 쿠키만 있으며 세션도 클라이언트 측의 쿠키입니다. 로봇이 자동 로그인을 위해 귀하의 계정/비밀번호를 기억하도록 하려는 경우 문제는 쿠키를 기억하도록 하는 것입니다.

golang에서는 쿠키를 기억하는 것이 매우 간단합니다.

최근 저희가 운영 로봇을 작성하던 중, 저희 형제 중 한 분이 위챗 계정의 자동 로그인을 깨닫게 되었는데, 소스코드를 잠깐 살펴본 결과 Cookiejar를 이용하여 구현된 것을 발견했습니다.

cookiejar: net/http/cookiejar 패키지는 CookieJar 구현을 제공합니다.

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)

여기서 캐시된 것은 하드 디스크에서 읽은 json 시퀀스 데이터이고, 캐시된[`cookies`]는 이전 로그인 후에 작성된 캐시입니다. Wechat.Client는 표준 http.Client입니다.

type WeChat struct {
Client      *http.Client
}

는 프로그램 주기 내에서 동일한 http.Client를 재사용하거나 쿠키를 하드 디스크 또는 데이터베이스에 기록하고 다음에 다시 시작할 때 재사용합니다. 이런 방식으로 계정 자동 로그인이 이루어집니다.

위 내용은 소규모 프로그램 개발에서 Cookiejar를 사용하여 계정을 기억하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.