From abec36ba841593952734809e8e16a179515c747f Mon Sep 17 00:00:00 2001 From: zhudw Date: Tue, 16 Jan 2024 18:08:53 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=BC=B9=E5=87=BA=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/cuhk.go | 4 ++-- app/downloader.go | 41 ++++++++++++++++++++++++++++++++--------- app/familysearch.go | 1 + 3 files changed, 35 insertions(+), 11 deletions(-) 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() }