diff options
author | jet tsang zeon-git <zeon-git@jettsang.com> | 2024-02-02 09:41:53 +0800 |
---|---|---|
committer | jet tsang zeon-git <zeon-git@jettsang.com> | 2024-02-02 09:41:53 +0800 |
commit | ebe235a19193004ab583cb930f8e5a1373f85574 (patch) | |
tree | 02b64ac7b7f9b31058b0974600a6db535ed5420f | |
parent | add header/KEY request (diff) | |
download | relay-ebe235a19193004ab583cb930f8e5a1373f85574.tar.gz relay-ebe235a19193004ab583cb930f8e5a1373f85574.tar.bz2 relay-ebe235a19193004ab583cb930f8e5a1373f85574.zip |
Signed-off-by: jet tsang zeon-git <zeon-git@jettsang.com>
-rw-r--r-- | main.go | 29 |
1 files changed, 22 insertions, 7 deletions
@@ -124,28 +124,43 @@ func loadData() { var code string if blockTxt != "" { - if doc, err := htmlquery.LoadURL(listUrl); err != nil { + doc, err := htmlquery.LoadURL(listUrl) + if err != nil { log.Println("url err:", listUrl) return - } else if found, err := htmlquery.QueryAll(doc, blockTxt); err != nil { + } + found, err := htmlquery.QueryAll(doc, blockTxt) + if err != nil { log.Println("block not found", err) return - } else { - code = htmlquery.InnerText(found[0]) } + if len(found) == 0 { + log.Println("No elements found") + return + } + code = htmlquery.InnerText(found[0]) } else { var dst []byte - _, byteCode, _ := fasthttp.Get(dst, string(listUrl)) + statusCode, byteCode, err := fasthttp.Get(dst, string(listUrl)) + if err != nil || statusCode != fasthttp.StatusOK { + log.Printf("HTTP request failed with status code %d\n", statusCode) + return + } code = string(byteCode) } + scanner := bufio.NewScanner(strings.NewReader(code)) for scanner.Scan() { maplist := strings.Split(scanner.Text(), "#") + if len(maplist) < 2 { + log.Println("Invalid data format:", scanner.Text()) + continue // Skip this iteration as the data format is not valid + } shortenMap[maplist[0]] = maplist[1] } - log.Println("urls mapped.") - + log.Println("URLs mapped.") } + func GetBetweenStr(str, start, end string) string { n := strings.Index(str, start) + len(start) if n == -1 { |