Fit-trasport HTTP standard ta’ Go 1.27.3, socks5 u socks5h jittrattaw l-ismijiet tad-destinazzjoni bl-istess mod. Mira b’isem tal-host tintbagħat lill-proxy bħala isem tal-host. Bidla bejn dawn l-iskemi ma taqlibx bejn DNS lokali u remot bħalma jiġri f’curl.

package main

import (
    "fmt"
    "log"
    "net/http"
    "net/url"
    "time"
)

func main() {
    proxyURL, err := url.Parse("socks5://203.0.113.10:1080")
    if err != nil {
        log.Fatal(err)
    }

    transport := http.DefaultTransport.(*http.Transport).Clone()
    transport.Proxy = http.ProxyURL(proxyURL)
    defer transport.CloseIdleConnections()

    client := &http.Client{
        Transport: transport,
        Timeout: 15 * time.Second,
    }
    response, err := client.Get("https://example.com/")
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()
    fmt.Println(response.StatusCode)
}

Ibdel l-indirizz tad-dokumentazzjoni bil-punt finali SOCKS5 tiegħek; tista’ ssib kandidati fil-lista ta’ proxies SOCKS5. L-eżempju juża t-trasport ta’ net/http stess; librerija Go oħra tista’ taħdem b’mod differenti.

Xorta hemm żewġ ismijiet x’tiddistingwi. Indirizz numeriku tal-proxy ma jeħtieġx tiftix tal-host tal-proxy; proxy b’isem irid jinstab lokalment qabel tintbagħat talba SOCKS. Destinazzjoni numerika ma għandhiex isem x’jiġi solvut u ma turix it-trattament tal-ismijiet tal-host. Biex teżamina l-għażla SOCKS reali, ara jekk il-qasam tad-destinazzjoni jġorrx isem jew indirizz.

It-trasport standard jappoġġa l-iskemi proxy http, https, socks5 u socks5h. Tikketta ġenerika SOCKS ma tipprovax appoġġ għal SOCKS5 fil-punt finali. Dan l-eżempju jibgħat HTTP fuq TCP u ma jittestjax kmandi SOCKS oħra jew relay UDP.

Artikli relatati