diff --git a/app/cuhk.go b/app/cuhk.go index 1a2ab1a..8c02adf 100644 --- a/app/cuhk.go +++ b/app/cuhk.go @@ -43,7 +43,7 @@ func (r *Cuhk) Init(iTask int, sUrl string) (msg string, err error) { return "requested URL was not found.", err } r.dt.Jar, _ = cookiejar.New(nil) - OpenWebBrowser(sUrl, nil) + OpenWebBrowser(sUrl, []string{}) return r.download() } @@ -109,7 +109,7 @@ func (r *Cuhk) do(imgUrls []string) (msg string, err error) { if err == nil && resp.GetStatusCode() == 200 { break } - OpenWebBrowser(r.dt.Url, nil) + WaitNewCookie() } util.PrintSleepTime(config.Conf.Speed) fmt.Println() diff --git a/app/downloader.go b/app/downloader.go index 9d038bb..f3be7fc 100644 --- a/app/downloader.go +++ b/app/downloader.go @@ -140,10 +140,8 @@ func CreateDirectory(domain, bookId, volumeId string) string { } func OpenWebBrowser(sUrl string, args []string) { - _ = os.Remove(config.Conf.CookieFile) var wg sync.WaitGroup - wg.Add(1) - + wg.Add(2) go func() { defer wg.Done() argv := []string{sUrl} @@ -151,13 +149,38 @@ func OpenWebBrowser(sUrl string, args []string) { argv = append(argv, args...) } if ret := util.OpenGUI(argv); ret == true { - for i := 0; i < 600; i++ { - if FileExist(config.Conf.CookieFile) { - break - } - fmt.Printf("请在打开的浏览器中,完成登录用户,并且“刷新”网页.\r") - time.Sleep(time.Second * 3) + return + } + }() + + //WaitNewCookie + _ = os.Remove(config.Conf.CookieFile) + go func() { + defer wg.Done() + for i := 0; i < 3600; i++ { + if FileExist(config.Conf.CookieFile) { + break + } + fmt.Printf("请使用 bookget-gui 浏览器,打开图书网址,完成「真人验证 / 登录用户」,然后 「刷新」 网页.\r") + time.Sleep(time.Second * 3) + } + }() + + wg.Wait() +} + +func WaitNewCookie() { + _ = os.Remove(config.Conf.CookieFile) + var wg sync.WaitGroup + wg.Add(1) + go func() { + defer wg.Done() + for i := 0; i < 3600; i++ { + if FileExist(config.Conf.CookieFile) { + break } + fmt.Printf("请使用 bookget-gui 浏览器,打开图书网址,完成「真人验证 / 登录用户」,然后 「刷新」 网页.\r") + time.Sleep(time.Second * 3) } }() wg.Wait() diff --git a/app/familysearch.go b/app/familysearch.go index 984a8c6..37a285a 100644 --- a/app/familysearch.go +++ b/app/familysearch.go @@ -52,6 +52,7 @@ func (r *Familysearch) Init(iTask int, sUrl string) (msg string, err error) { r.dt.Jar, _ = cookiejar.New(nil) // "https://www.familysearch.org/search/filmdata/filmdatainfo" r.apiUrl = r.dt.UrlParsed.Scheme + "://" + r.dt.UrlParsed.Host + "/search/filmdata/filmdatainfo" + WaitNewCookie() return r.download() }