瀏覽代碼

:art: Data sync connectivity check supports redirection Fix https://github.com/siyuan-note/siyuan/issues/8264

Liang Ding 2 年之前
父節點
當前提交
516276db49
共有 2 個文件被更改,包括 14 次插入2 次删除
  1. 1 1
      kernel/model/sync.go
  2. 13 1
      kernel/util/net.go

+ 1 - 1
kernel/model/sync.go

@@ -139,7 +139,7 @@ func BootSyncData() {
 
 
 	if !isProviderOnline(false) {
 	if !isProviderOnline(false) {
 		BootSyncSucc = 1
 		BootSyncSucc = 1
-		util.PushErrMsg(Conf.Language(28), 7000)
+		util.PushErrMsg(Conf.Language(76), 7000)
 		return
 		return
 	}
 	}
 
 

+ 13 - 1
kernel/util/net.go

@@ -57,7 +57,19 @@ func isOnline(checkURL string, skipTlsVerify bool) (ret bool) {
 	}
 	}
 
 
 	for i := 0; i < 3; i++ {
 	for i := 0; i < 3; i++ {
-		_, err := c.R().Get(checkURL)
+		resp, err := c.R().Get(checkURL)
+		if resp.GetHeader("Location") != "" {
+			return true
+		}
+
+		switch err.(type) {
+		case *url.Error:
+			if err.(*url.Error).URL != checkURL {
+				// DNS 重定向
+				return true
+			}
+		}
+
 		ret = nil == err
 		ret = nil == err
 		if ret {
 		if ret {
 			break
 			break