Fuasgladh ainmean òstair SOCKS5 ann an cliant HTTP Go
Carson nach tagh socks5 agus socks5h modhan DNS eadar-dhealaichte ann an còmhdhail HTTP àbhaisteach Go.
Ann an còmhdhail HTTP àbhaisteach Go 1.27.3, làimhsichidh socks5 agus socks5h ainmean cinn-uidhe san aon dòigh. Thèid ceann-uidhe le ainm òstair a chur chun a’ phrogsaidh mar ainm òstair. Cha tionndaidh atharrachadh nan sgeamaichean seo eadar DNS ionadail agus iomallach mar a nì 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 am puing-deiridh SOCKS5 agad an àite seòladh na sgrìobhainne; gheibhear roghainnean san liosta de phrogsaidhean SOCKS5. Tha an eisimpleir a’ cleachdadh còmhdhail net/http fhèin; faodaidh leabharlann Go eile giùlan eadar-dhealaichte a chur an gnìomh.
Tha dà ainm fhathast ri sgaradh. Chan fheum seòladh progsaidh àireamhach lorg ainm an òstair; feumar progsaidh ainmichte a lorg gu h-ionadail mus gabh iarrtas SOCKS a chur. Chan eil ainm targaid ri fhuasgladh aig ceann-uidhe àireamhach, agus chan urrainn dha làimhseachadh ainmean òstair a shealltainn. Gus fìor roghainn SOCKS a sgrùdadh, faic a bheil ainm no seòladh ann an raon a’ chinn-uidhe.
Tha a’ chòmhdhail àbhaisteach a’ cur taic ri sgeamaichean progsaidh http, https, socks5 agus socks5h. Chan eil leubail choitcheann SOCKS a’ dearbhadh taic SOCKS5 aig puing-deiridh. Tha an eisimpleir a’ cur HTTP thairis air TCP agus chan eil e a’ dèanamh deuchainn air àitheantan SOCKS eile no ath-chraoladh UDP.