package main import ( "log" "ocean/ocean" "github.com/robfig/cron/v3" ) const ua string = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" func main() { ocean := ocean.NewOcean() buisiness := ocean.GetBuisiness() getQrcodeData, err := buisiness.GetQrcode(ua) if err != nil { log.Panicln(err) } // log.Println("url:", data.Url) // log.Println("msToken:", data.MsToken) // log.Println("token:", data.Token) log.Println("qrcode:", getQrcodeData.Qrcode) // log.Println("X-Bogus:", data.XBogus) err = buisiness.LoginTransfer() if err != nil { log.Panicln(err) } cron := cron.New() var ch = make(chan int) redirectURL := "" cron.AddFunc("@every 3s", func() { checkQrconnectData, err := buisiness.CheckQrconnect(getQrcodeData.XBogus, getQrcodeData.MsToken, getQrcodeData.Token) if err != nil { log.Panicln(err) } if checkQrconnectData.Status == "3" { redirectURL = checkQrconnectData.RedirectURL ch <- 1 } }) cron.Start() defer cron.Stop() <-ch redirectUrlData, err := buisiness.RedirectUrl(redirectURL) if err != nil { log.Panicln(err) } log.Println("sessionid:", redirectUrlData.SessionId) log.Println("sessionid_ss:", redirectUrlData.SessionIdSs) log.Println("passport_csrf_token:", redirectUrlData.PassportCsrfToken) log.Println("passport_csrf_token_default:", redirectUrlData.PassportCsrfTokenDefault) log.Println("csrftoken:", redirectUrlData.CsrfToken) log.Println("X-Csrftoken:", redirectUrlData.CsrfToken) }