HTTP/2 yana shiga cikin ramin SOCKS na Go
Kwafi daidaitaccen jigilar HTTP, zaɓi wakilin SOCKS kuma duba ka'idar manufa da aka tattauna a zahiri.
Ramin SOCKS yana ɗaukar haɗin TCP. Go na iya yin TLS da manufa ta wannan rami kuma ya tattauna HTTP/2 a can; uwar garken SOCKS ba ya buƙatar yin magana da HTTP/2 da kansa.
A cikin shirin da ke riƙe da daidaitaccen jigilar Go ta asali, kwafi tsarin sa ka zaɓi wakili:
import (
"net/http"
"net/url"
"time"
)
proxyURL := &url.URL{
Scheme: "socks5",
Host: "proxy.example:1080",
}
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = http.ProxyURL(proxyURL)
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}
Wakili da manufa sun kasance dabi'u daban-daban. Zaɓi ƙarshen SOCKS5 daga jerin wakilan SOCKS5 don darajar wakili; HTTP/2 har yanzu ana tattaunawa da manufa. Yi amfani da client don neman ainihin URL ɗin sabis ɗin HTTPS, sannan ka rufe jikin amsa ta hanyar yanayin rayuwar aikace-aikacen.
Daidaitaccen jigilar ta asali tana goyan bayan HTTP/2. Kwafa shi yana riƙe da wannan tsarin yayin da yake barin zaɓin wakili ya canza. Tabbacin nau'in yana ɗauka cewa shirin bai maye gurbin http.DefaultTransport da wani RoundTripper ba.
Don jigilar da aka gina daban, duba tsarin HTTP/2 ɗinta, musamman lokacin bayar da ƙugiyoyin dial ko TLS na musamman. Go yana bayyana ForceAttemptHTTP2 kuma, a cikin sabbin fitowar, tsarin Protocols bayyananne don waɗannan zaɓuɓɓukan.
Manufar har yanzu dole ne ta bayar da HTTP/2 ta hanyar tattaunawar TLS. Duba darajar Proto ko ProtoMajor na amsar da ta yi nasara don ganin abin da aka yi amfani da shi. Buƙatar HTTPS da ta yi nasara ta SOCKS ba ta tabbatar da kanta cewa ka'idar da aka tattauna ita ce HTTP/2 ba.