第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 golang 中迭代多個(gè)返回值

在 golang 中迭代多個(gè)返回值

Go
躍然一笑 2023-05-08 16:10:54
我正在嘗試從包含域(未知數(shù)量)的文本文件中獲取輸入,然后將每個(gè)域用作參數(shù)并獲取其服務(wù)器類型。正如預(yù)期的那樣,這只會(huì)返回最后一個(gè)域。如何迭代多個(gè)返回值?下面是代碼。// 測(cè)試包主import (    "bufio"    "time"    "os"    "fmt"    "net/http"    //"github.com/gocolly/colly")var Domain stringvar Target stringfunc main() {    Domain := DomainGrab()    Target := BannerGrab(Domain)    //CheckDB if not listed then add else skip    //RiskDB    //Email    fmt.Println(Domain)    fmt.Println(Target)}func BannerGrab(s string) string {    client := &http.Client{}    req, err := http.NewRequest("GET", s, nil)    if err != nil {    log.Fatalln(err)    }    req.Header.Set("User-Agent", "Authac/0.1")    resp, _ := client.Do(req)    serverEntry := resp.Header.Get("Server")    return serverEntry}func DomainGrab() string {    //c := colly.NewCollector()// Open the file.    f, _ := os.Open("domains.txt")    defer f.Close()    // Create a new Scanner for the file.    scanner := bufio.NewScanner(f)    // Loop over all lines in the file and print them.    for scanner.Scan() {        line := scanner.Text()        time.Sleep(2 * time.Second)        //fmt.Println(line)        return line    }    return Domain}
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果我理解你的問(wèn)題,你想讀取文件,以某種方式檢測(cè)到該文件被修改,并有一個(gè)方法將這些修改發(fā)送到客戶端代碼。

這不是文件的工作方式。

你有兩個(gè)選擇:

  1. 使用一些操作系統(tǒng)特定的 API 監(jiān)聽文件更改?

  2. 使用無(wú)限循環(huán)讀取文件。讀取文件一次。將副本保存到內(nèi)存中。在循環(huán)中一次又一次地讀取同一個(gè)文件,直到新文件與副本不同并計(jì)算增量。

檢查是否可以使用它push來(lái)代替pull獲取新域。難不成控制文件域名的系統(tǒng)會(huì)直接給你推送數(shù)據(jù)?

如果loop是唯一可能的選項(xiàng),請(qǐng)?jiān)谖募x取之間設(shè)置一些暫停時(shí)間以減少系統(tǒng)負(fù)載。

查看完整回答
反對(duì) 回復(fù) 2023-05-08
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果您想“同時(shí)”執(zhí)行此操作,您將返回一個(gè)通道,您將通過(guò)該通道發(fā)送您想要返回的多個(gè)內(nèi)容:

https://play.golang.org/p/iYBGPwfYLYR

func DomainGrab() <-chan string {

    ch := make(chan string, 1)

    f, _ := os.Open("domains.txt")

    defer f.Close()

    scanner := bufio.NewScanner(f)

    go func() {

    // Loop over all lines in the file and print them.

        for scanner.Scan() {

            line := scanner.Text()

            time.Sleep(2 * time.Second)

            ch <- line

        }

        close(ch)

    }()

    return ch

}


查看完整回答
反對(duì) 回復(fù) 2023-05-08
?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

可能不是最好的解決方案。但是,我決定一起擺脫一個(gè)單獨(dú)的功能,以覆蓋更多領(lǐng)域。我會(huì)在下面發(fā)布我期望的代碼?,F(xiàn)在,我需要解析域,以便只掃描一次根 URL 和子域。


// Main

package main


import (

    "log"

    "fmt"

    "time"

    "net/http"

    "github.com/gocolly/colly"

)


//var Domain string

var Target string



func main() {

    c := colly.NewCollector()


    c.OnError(func(r *colly.Response, err error) {

        fmt.Println("Request URL:", r.Request.URL, "\n Failed with response:", r.StatusCode)

    })


    // Find and visit all links

    c.OnHTML("a", func(e *colly.HTMLElement) {

        e.Request.Visit(e.Attr("href"))

    })


    c.OnRequest(func(r *colly.Request) {

        Domain := r.URL.String()

        Target := BannerGrab(Domain)

        fmt.Println(Domain)

        fmt.Println(Target)

        fmt.Println("Dropping By.. ", r.URL)

        time.Sleep(1000 * time.Millisecond)

    })


    c.Visit("http://www.milliondollarhomepage.com/")

    }


    //CheckDB if not listed else add

    //RiskDB

    //Email



func BannerGrab(s string) string {


    client := &http.Client{}

    req, err := http.NewRequest("GET", s, nil)

        if err != nil {

        log.Fatalln(err)

    }

    req.Header.Set("User-Agent", "Authac/0.1")

    resp, _ := client.Do(req)

    serverEntry := resp.Header.Get("Server")

    return serverEntry


}



查看完整回答
反對(duì) 回復(fù) 2023-05-08
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)