In iompar caighdeánach HTTP Go 1.27.3, láimhseálann socks5 agus socks5h ainmneacha cinn scríbe ar an mbealach céanna. Seoltar sprioc a bhfuil óstainm aici chuig an seachfhreastalaí mar óstainm. Ní athraíonn aistriú idir na scéimeanna seo DNS áitiúil go DNS cianda mar a dhéanann 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)
}

Cuir do chríochphointe SOCKS5 in áit an tseolta doiciméadachta; tá iarrthóirí sa liosta seachfhreastalaithe SOCKS5. Úsáideann an sampla iompar net/http féin; d’fhéadfadh leabharlann Go eile iompar difriúil a chur i bhfeidhm.

Tá dhá ainm le hidirdhealú fós. Ní theastaíonn cuardach óstach an tseachfhreastalaí ó sheoladh uimhriúil; caithfear seachfhreastalaí ainmnithe a aimsiú go logánta sular féidir iarratas SOCKS a sheoladh. Níl ainm sprice le réiteach ag ceann scríbe uimhriúil agus ní léiríonn sé láimhseáil óstainmneacha. Chun an fíorrogha SOCKS a fheiceáil, seiceáil an bhfuil ainm nó seoladh sa réimse cinn scríbe.

Tacaíonn an t-iompar caighdeánach leis na scéimeanna seachfhreastalaí http, https, socks5 agus socks5h. Ní chruthaíonn lipéad ginearálta SOCKS tacaíocht SOCKS5 ag críochphointe. Seolann an sampla seo HTTP thar TCP agus ní thástálann sé orduithe SOCKS eile ná sealaíocht UDP.

Ailt ghaolmhara