Salah satu kelebihan golang ialah keupayaan rangkaiannya yang berkuasa. Dalam komunikasi rangkaian, semakin banyak pelayan menyokong protokol https, dan sewajarnya, pelanggan juga perlu menyokong permintaan https. Artikel ini akan memperkenalkan cara menggunakan golang untuk melaksanakan permintaan https.
Pertama, kita perlu mengimport pakej yang sepadan:
import ( "crypto/tls" "net/http" "time" )
Antaranya, pakej crypto/tls menyediakan TLS dan Protokol SSL Pelaksanaan pakej net/http menyediakan pelaksanaan permintaan http, pakej masa digunakan untuk menetapkan tamat masa.
Sebelum membuat permintaan http, kita perlu mencipta klien http. Apabila mencipta klien http, anda perlu menggunakan antara muka RoundTripper untuk menetapkan konfigurasi TLS Kod sampel adalah seperti berikut:
func newHTTPSClient() *http.Client { tlsCfg := &tls.Config{ InsecureSkipVerify: true, } transport := &http.Transport{ TLSClientConfig: tlsCfg, Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } return &http.Client{ Timeout: time.Second * 30, Transport: transport, } }
Perlu diambil perhatian bahawa dalam kod di atas, kami menetapkan InsecureSkipVerify kepada benar. , iaitu langkau pengesahan Sijil. Jika anda perlu mengesahkan sijil semasa pembangunan, tetapkan nilai ini kepada palsu.
Selepas mencipta klien http, kami boleh menggunakan klien untuk memulakan permintaan https. Kod sampel adalah seperti berikut:
func sendHTTPSRequest() { client := newHTTPSClient() resp, err := client.Get("https://example.com") if err != nil { log.Fatal(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(string(body)) }
Kami menggunakan kaedah http.Get untuk memulakan permintaan https dan membaca badan respons yang dikembalikan melalui kaedah ReadAll dalam pakej ioutil.
Artikel ini memperkenalkan cara menggunakan golang untuk melaksanakan permintaan https. Apabila melaksanakan permintaan https, anda perlu menggunakan pelaksanaan protokol TLS dan SSL yang disediakan oleh pakej crypto/tls dan pelaksanaan permintaan http yang disediakan oleh pakej net/http. Pada masa yang sama, anda perlu memberi perhatian kepada menetapkan parameter seperti tamat masa dan konfigurasi TLS untuk memastikan kebolehpercayaan dan keselamatan permintaan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan permintaan https menggunakan golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!