美文网首页
golang 使用SOCKS5访问网络

golang 使用SOCKS5访问网络

作者: Spooking | 来源:发表于2017-12-11 10:40 被阅读0次

    很实用的代码,测试可用。

    package main
    
    import (
        "fmt"
        _ "io"
        "io/ioutil"
        "log"
        "net/http"
        "os"
    
        "golang.org/x/net/proxy"
    )
    
    func main() {
        // create a socks5 dialer
        dialer, err := proxy.SOCKS5("tcp", "127.0.0.1:1080", nil, proxy.Direct)
        if err != nil {
            fmt.Fprintln(os.Stderr, "can't connect to the proxy:", err)
            os.Exit(1)
        }
        // setup a http client
        httpTransport := &http.Transport{}
        httpClient := &http.Client{Transport: httpTransport}
        // set our socks5 as the dialer
        httpTransport.Dial = dialer.Dial
        if resp, err := httpClient.Get("https://www.google.com"); err != nil {
            log.Fatalln(err)
        } else {
            defer resp.Body.Close()
            body, _ := ioutil.ReadAll(resp.Body)
            fmt.Printf("%s\n", body)
        }
    }
    

    相关文章

      网友评论

          本文标题:golang 使用SOCKS5访问网络

          本文链接:https://www.haomeiwen.com/subject/nmxiixtx.html